"use strict";
Object.defineProperty(exports, "__esModule", {
	value: !0
});
var e = function() {
	return e = Object.assign || function(e) {
		for (var t, r = 1, n = arguments.length; r < n; r++)
			for (var o in t = arguments[r]) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
		return e
	}, e.apply(this, arguments)
};

function t(e, t, r, n) {
	return new(r || (r = Promise))((function(o, i) {
		function a(e) {
			try {
				u(n.next(e))
			} catch (e) {
				i(e)
			}
		}

		function s(e) {
			try {
				u(n.throw(e))
			} catch (e) {
				i(e)
			}
		}

		function u(e) {
			var t;
			e.done ? o(e.value) : (t = e.value, t instanceof r ? t : new r((function(e) {
				e(t)
			}))).then(a, s)
		}
		u((n = n.apply(e, t || [])).next())
	}))
}

function r(e, t) {
	var r, n, o, i, a = {
		label: 0,
		sent: function() {
			if (1 & o[0]) throw o[1];
			return o[1]
		},
		trys: [],
		ops: []
	};
	return i = {
		next: s(0),
		throw: s(1),
		return: s(2)
	}, "function" == typeof Symbol && (i[Symbol.iterator] = function() {
		return this
	}), i;

	function s(s) {
		return function(u) {
			return function(s) {
				if (r) throw new TypeError("Generator is already executing.");
				for (; i && (i = 0, s[0] && (a = 0)), a;) try {
					if (r = 1, n && (o = 2 & s[0] ? n.return : s[0] ? n.throw || ((o = n.return) && o.call(
							n), 0) : n.next) && !(o = o.call(n, s[1])).done) return o;
					switch (n = 0, o && (s = [2 & s[0], o.value]), s[0]) {
						case 0:
						case 1:
							o = s;
							break;
						case 4:
							return a.label++, {
								value: s[1],
								done: !1
							};
						case 5:
							a.label++, n = s[1], s = [0];
							continue;
						case 7:
							s = a.ops.pop(), a.trys.pop();
							continue;
						default:
							if (!(o = a.trys, (o = o.length > 0 && o[o.length - 1]) || 6 !== s[0] && 2 !==
									s[0])) {
								a = 0;
								continue
							}
							if (3 === s[0] && (!o || s[1] > o[0] && s[1] < o[3])) {
								a.label = s[1];
								break
							}
							if (6 === s[0] && a.label < o[1]) {
								a.label = o[1], o = s;
								break
							}
							if (o && a.label < o[2]) {
								a.label = o[2], a.ops.push(s);
								break
							}
							o[2] && a.ops.pop(), a.trys.pop();
							continue
					}
					s = t.call(e, a)
				} catch (e) {
					s = [6, e], n = 0
				} finally {
					r = o = 0
				}
				if (5 & s[0]) throw s[1];
				return {
					value: s[0] ? s[1] : void 0,
					done: !0
				}
			}([s, u])
		}
	}
}

function n() {
	for (var e = 0, t = 0, r = arguments.length; t < r; t++) e += arguments[t].length;
	var n = Array(e),
		o = 0;
	for (t = 0; t < r; t++)
		for (var i = arguments[t], a = 0, s = i.length; a < s; a++, o++) n[o] = i[a];
	return n
}
"function" == typeof SuppressedError && SuppressedError;
var o = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" !=
	typeof global ? global : "undefined" != typeof self ? self : {};

function i() {
	throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")
}

function a(e, t) {
	return e(t = {
		exports: {}
	}, t.exports), t.exports
}
var s = a((function(e, t) {
	var r;
	r = {}, ("object" == typeof window && window || o).PubSub = r,
		function(e) {
			var t = {},
				r = -1,
				n = "*";

			function o(e) {
				var t;
				for (t in e)
					if (e.hasOwnProperty(t)) return !0;
				return !1
			}

			function i(e) {
				return function() {
					throw e
				}
			}

			function a(e, t, r) {
				try {
					e(t, r)
				} catch (e) {
					setTimeout(i(e), 0)
				}
			}

			function s(e, t, r) {
				e(t, r)
			}

			function u(e, r, n, o) {
				var i, u = t[r],
					c = o ? s : a;
				if (t.hasOwnProperty(r))
					for (i in u) u.hasOwnProperty(i) && c(u[i], e, n)
			}

			function c(e, t, r) {
				return function() {
					var o = String(e),
						i = o.lastIndexOf(".");
					for (u(e, e, t, r); - 1 !== i;) i = (o = o.substr(0, i)).lastIndexOf("."), u(e, o,
						t, r);
					u(e, n, t, r)
				}
			}

			function f(e) {
				var r = String(e);
				return Boolean(t.hasOwnProperty(r) && o(t[r]))
			}

			function l(e) {
				for (var t = String(e), r = f(t) || f(n), o = t.lastIndexOf("."); !r && -1 !== o;) o = (t =
					t.substr(0, o)).lastIndexOf("."), r = f(t);
				return r
			}

			function d(e, t, r, n) {
				var o = c(e = "symbol" == typeof e ? e.toString() : e, t, n);
				return !!l(e) && (!0 === r ? o() : setTimeout(o, 0), !0)
			}
			e.publish = function(t, r) {
				return d(t, r, !1, e.immediateExceptions)
			}, e.publishSync = function(t, r) {
				return d(t, r, !0, e.immediateExceptions)
			}, e.subscribe = function(e, n) {
				if ("function" != typeof n) return !1;
				e = "symbol" == typeof e ? e.toString() : e, t.hasOwnProperty(e) || (t[e] = {});
				var o = "uid_" + String(++r);
				return t[e][o] = n, o
			}, e.subscribeAll = function(t) {
				return e.subscribe(n, t)
			}, e.subscribeOnce = function(t, r) {
				var n = e.subscribe(t, (function() {
					e.unsubscribe(n), r.apply(this, arguments)
				}));
				return e
			}, e.clearAllSubscriptions = function() {
				t = {}
			}, e.clearSubscriptions = function(e) {
				var r;
				for (r in t) t.hasOwnProperty(r) && 0 === r.indexOf(e) && delete t[r]
			}, e.countSubscriptions = function(e) {
				var r, n = 0;
				for (r in t) t.hasOwnProperty(r) && 0 === r.indexOf(e) && n++;
				return n
			}, e.getSubscriptions = function(e) {
				var r, n = [];
				for (r in t) t.hasOwnProperty(r) && 0 === r.indexOf(e) && n.push(r);
				return n
			}, e.unsubscribe = function(r) {
				var n, o, i, a = function(e) {
						var r;
						for (r in t)
							if (t.hasOwnProperty(r) && 0 === r.indexOf(e)) return !0;
						return !1
					},
					s = "string" == typeof r && (t.hasOwnProperty(r) || a(r)),
					u = !s && "string" == typeof r,
					c = "function" == typeof r,
					f = !1;
				if (!s) {
					for (n in t)
						if (t.hasOwnProperty(n)) {
							if (o = t[n], u && o[r]) {
								delete o[r], f = r;
								break
							}
							if (c)
								for (i in o) o.hasOwnProperty(i) && o[i] === r && (delete o[i], f = !0)
						} return f
				}
				e.clearSubscriptions(r)
			}
		}(r), void 0 !== e && e.exports && (t = e.exports = r), t.PubSub = r, e.exports = t = r
}));
s.PubSub;
var u, c, f, l, d, p, h, g, m, v = function(e) {
		var t, r = e.Symbol;
		return "function" == typeof r ? r.observable ? t = r.observable : (t = r("observable"), r.observable = t) : t =
			"@@observable", t
	}("undefined" != typeof self ? self : "undefined" != typeof window ? window : "undefined" != typeof global ?
		global : "undefined" != typeof module ? module : Function("return this")()),
	y = function() {
		return Math.random().toString(36).substring(7).split("").join(".")
	},
	b = {
		INIT: "@@redux/INIT" + y(),
		REPLACE: "@@redux/REPLACE" + y(),
		PROBE_UNKNOWN_ACTION: function() {
			return "@@redux/PROBE_UNKNOWN_ACTION" + y()
		}
	};

function _(e, t) {
	var r = t && t.type;
	return "Given " + (r && 'action "' + String(r) + '"' || "an action") + ', reducer "' + e +
		'" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.'
}

function w(e, t, r) {
	return t in e ? Object.defineProperty(e, t, {
		value: r,
		enumerable: !0,
		configurable: !0,
		writable: !0
	}) : e[t] = r, e
}

function S(e, t) {
	var r = Object.keys(e);
	return Object.getOwnPropertySymbols && r.push.apply(r, Object.getOwnPropertySymbols(e)), t && (r = r.filter((
		function(t) {
			return Object.getOwnPropertyDescriptor(e, t).enumerable
		}))), r
}

function I() {
	for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r];
	return 0 === t.length ? function(e) {
		return e
	} : 1 === t.length ? t[0] : t.reduce((function(e, t) {
		return function() {
			return e(t.apply(void 0, arguments))
		}
	}))
}! function(e) {
	e.SendMsg = "SendMsg", e.REV = "REV", e.ReceiveMsg = "ReceiveMsg", e.ACK = "ACK", e.ReadStatus = "ReadStatus", e
		.LOGIN = "LOGIN", e.LoginKeep = "LoginKeep", e.Compensate = "Compensate", e.LoginOut = "LoginOut", e.Withdraw =
		"Withdraw", e.TransferTreatment = "TransferTreatment", e.CustomEvent = "CustomEvent", e.ReadCompensate =
		"ReadCompensate"
}(u || (u = {})),
function(e) {
	e.Text = "Text", e.Image = "Image", e.Audio = "Audio", e.Video = "Video", e.Template = "Template", e.RichLink =
		"RichLink", e.RichText = "RichText", e.SysText = "SysText", e.FinishNoReply = "FinishNoReply", e.Finish =
		"Finish", e.USER_SPEAK_STATUS = "USER_SPEAK_STATUS", e.Withdraw = "Withdraw", e.CommodityCard = "CommodityCard",
		e.NotifyOtherClient = "NotifyOtherClient"
}(c || (c = {})),
function(e) {
	e.QA = "QA", e.PRE = "PRE", e.ONLINE = "ONLINE", e.TR = "TR"
}(f || (f = {})),
function(e) {
	e.HTTP = "http://", e.HTTPS = "https://", e.WSS = "wss://", e.WS = "ws://"
}(l || (l = {})),
function(e) {
	e.H5 = "H5", e.MINIAPP = "MINIAPP"
}(d || (d = {})),
function(e) {
	e[e.Sending = 1] = "Sending", e[e.SendSuccess = 2] = "SendSuccess", e[e.SendFail = 3] = "SendFail"
}(p || (p = {})),
function(e) {
	e.operate = "operate", e.drugDoctor = "drugDoctor", e.drugPlatform = "drugPlatform", e.drugSaas = "drugSaas", e
		.drugSaasTr = "drugSaasTr", e.openPlatform = "openPlatform", e.b2b = "b2b", e.operate_phm = "operate_phm"
}(h || (h = {})),
function(e) {
	e.withdrawMessage = "withdrawMessage", e.insertMessage = "insertMessage", e.apiMessage = "apiMessage", e
		.apiMessageTop = "apiMessageTop", e.sendMessageSuccess = "sendMessageSuccess", e.sendMessageFail =
		"sendMessageFail", e.onMessage = "onMessage"
}(g || (g = {})),
function(e) {
	e.apiMoreList = "apiMoreList", e.apiTopList = "apiTopList", e.onGetGroupList = "onGetGroupList"
}(m || (m = {}));
var T = function(e, t) {
		return function() {
			for (var r = new Array(arguments.length), n = 0; n < r.length; n++) r[n] = arguments[n];
			return e.apply(t, r)
		}
	},
	M = Object.prototype.toString;

function k(e) {
	return "[object Array]" === M.call(e)
}

function x(e) {
	return void 0 === e
}

function E(e) {
	return null !== e && "object" == typeof e
}

function O(e) {
	return "[object Function]" === M.call(e)
}

function j(e, t) {
	if (null != e)
		if ("object" != typeof e && (e = [e]), k(e))
			for (var r = 0, n = e.length; r < n; r++) t.call(null, e[r], r, e);
		else
			for (var o in e) Object.prototype.hasOwnProperty.call(e, o) && t.call(null, e[o], o, e)
}
var A = {
		isArray: k,
		isArrayBuffer: function(e) {
			return "[object ArrayBuffer]" === M.call(e)
		},
		isBuffer: function(e) {
			return null !== e && !x(e) && null !== e.constructor && !x(e.constructor) && "function" == typeof e
				.constructor.isBuffer && e.constructor.isBuffer(e)
		},
		isFormData: function(e) {
			return "undefined" != typeof FormData && e instanceof FormData
		},
		isArrayBufferView: function(e) {
			return "undefined" != typeof ArrayBuffer && ArrayBuffer.isView ? ArrayBuffer.isView(e) : e && e
				.buffer && e.buffer instanceof ArrayBuffer
		},
		isString: function(e) {
			return "string" == typeof e
		},
		isNumber: function(e) {
			return "number" == typeof e
		},
		isObject: E,
		isUndefined: x,
		isDate: function(e) {
			return "[object Date]" === M.call(e)
		},
		isFile: function(e) {
			return "[object File]" === M.call(e)
		},
		isBlob: function(e) {
			return "[object Blob]" === M.call(e)
		},
		isFunction: O,
		isStream: function(e) {
			return E(e) && O(e.pipe)
		},
		isURLSearchParams: function(e) {
			return "undefined" != typeof URLSearchParams && e instanceof URLSearchParams
		},
		isStandardBrowserEnv: function() {
			return ("undefined" == typeof navigator || "ReactNative" !== navigator.product && "NativeScript" !==
				navigator.product && "NS" !== navigator.product) && ("undefined" != typeof window &&
				"undefined" != typeof document)
		},
		forEach: j,
		merge: function e() {
			var t = {};

			function r(r, n) {
				"object" == typeof t[n] && "object" == typeof r ? t[n] = e(t[n], r) : t[n] = r
			}
			for (var n = 0, o = arguments.length; n < o; n++) j(arguments[n], r);
			return t
		},
		deepMerge: function e() {
			var t = {};

			function r(r, n) {
				"object" == typeof t[n] && "object" == typeof r ? t[n] = e(t[n], r) : t[n] = "object" == typeof r ?
					e({}, r) : r
			}
			for (var n = 0, o = arguments.length; n < o; n++) j(arguments[n], r);
			return t
		},
		extend: function(e, t, r) {
			return j(t, (function(t, n) {
				e[n] = r && "function" == typeof t ? T(t, r) : t
			})), e
		},
		trim: function(e) {
			return e.replace(/^\s*/, "").replace(/\s*$/, "")
		}
	},
	C = function(e, t, r, n, o) {
		return function(e, t, r, n, o) {
			return e.config = t, r && (e.code = r), e.request = n, e.response = o, e.isAxiosError = !0, e.toJSON =
				function() {
					return {
						message: this.message,
						name: this.name,
						description: this.description,
						number: this.number,
						fileName: this.fileName,
						lineNumber: this.lineNumber,
						columnNumber: this.columnNumber,
						stack: this.stack,
						config: this.config,
						code: this.code
					}
				}, e
		}(new Error(e), t, r, n, o)
	},
	L = function(e, t, r) {
		var n = r.config.validateStatus;
		!n || n(r.status) ? e(r) : t(C("Request failed with status code " + r.status, r.config, null, r.request, r))
	};

function D(e) {
	return encodeURIComponent(e).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",")
		.replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]")
}
var N = function(e, t, r) {
		if (!t) return e;
		var n;
		if (r) n = r(t);
		else if (A.isURLSearchParams(t)) n = t.toString();
		else {
			var o = [];
			A.forEach(t, (function(e, t) {
				null != e && (A.isArray(e) ? t += "[]" : e = [e], A.forEach(e, (function(e) {
					A.isDate(e) ? e = e.toISOString() : A.isObject(e) && (e = JSON
						.stringify(e)), o.push(D(t) + "=" + D(e))
				})))
			})), n = o.join("&")
		}
		if (n) {
			var i = e.indexOf("#"); - 1 !== i && (e = e.slice(0, i)), e += (-1 === e.indexOf("?") ? "?" : "&") + n
		}
		return e
	},
	R = function(e, t) {
		return e && !/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t) ? function(e, t) {
			return t ? e.replace(/\/+$/, "") + "/" + t.replace(/^\/+/, "") : e
		}(e, t) : t
	},
	q = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var P = "wechat";
var $ = function(e) {
	try {
		return "string" == typeof e && e.length && (e = JSON.parse(e)) && "[object Object]" === Object.prototype
			.toString.call(e)
	} catch (e) {
		return !1
	}
};

function z(e, t) {
	var r = (void 0 === t ? {} : t).transformRequestOption,
		n = void 0 === r ? function(e) {
			return e
		} : r,
		o = function() {
			console.log('typeof wx', typeof wx);
			switch (!0) {
				case "object" == typeof wx:
					return P = "wechat", wx.request.bind(wx);
				case "object" == typeof swan:
					return P = "baidu", swan.request.bind(swan);
				case "object" == typeof dd:
					return P = "dd", dd.httpRequest.bind(dd);
				case "object" == typeof my:
					return P = "alipay", (my.request || my.httpRequest).bind(my);
				default:
					return wx.request.bind(wx)
			}
		}();
	return new Promise((function(t, r) {
		var i, a = e.data,
			s = e.headers,
			u = {
				method: e.method && e.method.toUpperCase() || "GET",
				url: N(R(e.baseURL, e.url), e.params, e.paramsSerializer),
				timeout: e.timeout,
				success: function(n) {
					var o = function(e, t, r) {
						var n = e.header || e.headers,
							o = e.statusCode || e.status,
							i = "";
						return 200 === o ? i = "OK" : 400 === o && (i = "Bad Request"), {
							data: e.data,
							status: o,
							statusText: i,
							headers: n,
							config: t,
							request: r
						}
					}(n, e, u);
					L(t, r, o)
				},
				fail: function(t) {
					! function(e, t, r) {
						switch (P) {
							case "wechat":
								-1 !== e.errMsg.indexOf("request:fail abort") ? t(C("Request aborted",
										r, "ECONNABORTED", "")) : -1 !== e.errMsg.indexOf("timeout") ?
									t(C("timeout of " + r.timeout + "ms exceeded", r, "ECONNABORTED",
										"")) : t(C("Network Error", r, null, ""));
								break;
							case "dd":
							case "alipay":
								[14, 19].includes(e.error) ? t(C("Request aborted", r, "ECONNABORTED",
									"", e)) : [13].includes(e.error) ? t(C("timeout of " + r
									.timeout + "ms exceeded", r, "ECONNABORTED", "", e)) : t(C(
									"Network Error", r, null, "", e));
								break;
							case "baidu":
								t(C("Network Error", r, null, ""))
						}
					}(t, r, e)
				},
				complete: function() {
					i = void 0
				}
			};
		if (e.auth) {
			var c = [e.auth.username || "", e.auth.password || ""],
				f = c[0],
				l = c[1];
			s.Authorization = "Basic " + function(e) {
				for (var t, r, n = String(e), o = 0, i = q, a = ""; n.charAt(0 | o) || (i = "=", o %
						1); a += i.charAt(63 & t >> 8 - o % 1 * 8)) {
					if ((r = n.charCodeAt(o += 3 / 4)) > 255) throw new Error(
						"'btoa' failed: The string to be encoded contains characters outside of the Latin1 range."
					);
					t = t << 8 | r
				}
				return a
			}(f + ":" + l)
		}
		A.forEach(s, (function(e, t) {
				var r = t.toLowerCase();
				(void 0 === a && "content-type" === r || "referer" === r) && delete s[t]
			})), u.header = s, e.responseType && (u.responseType = e.responseType), e.cancelToken && e
			.cancelToken.promise.then((function(e) {
				i && (i.abort(), r(e), i = void 0)
			})), $(a) && (a = JSON.parse(a)), void 0 !== a && (u.data = a), i = o(n(function(e) {
				var t;
				return ["alipay", "dd"].includes(P) && (e.headers = e.header, delete e.header,
					"dd" === P && "GET" !== e.method && "application/json" === (null === (t = e
						.headers) || void 0 === t ? void 0 : t["Content-Type"]) &&
					"[object Object]" === Object.prototype.toString.call(e.data) && (e.data =
						JSON.stringify(e.data))), e
			}(u)))
	}))
}

function Q() {
	this.handlers = []
}
Q.prototype.use = function(e, t) {
	return this.handlers.push({
		fulfilled: e,
		rejected: t
	}), this.handlers.length - 1
}, Q.prototype.eject = function(e) {
	this.handlers[e] && (this.handlers[e] = null)
}, Q.prototype.forEach = function(e) {
	A.forEach(this.handlers, (function(t) {
		null !== t && e(t)
	}))
};
var U = Q,
	F = function(e, t, r) {
		return A.forEach(r, (function(r) {
			e = r(e, t)
		})), e
	},
	B = function(e) {
		return !(!e || !e.__CANCEL__)
	},
	G = function(e, t) {
		A.forEach(e, (function(r, n) {
			n !== t && n.toUpperCase() === t.toUpperCase() && (e[t] = r, delete e[n])
		}))
	},
	H = ["age", "authorization", "content-length", "content-type", "etag", "expires", "from", "host",
		"if-modified-since", "if-unmodified-since", "last-modified", "location", "max-forwards", "proxy-authorization",
		"referer", "retry-after", "user-agent"
	],
	W = A.isStandardBrowserEnv() ? function() {
		var e, t = /(msie|trident)/i.test(navigator.userAgent),
			r = document.createElement("a");

		function n(e) {
			var n = e;
			return t && (r.setAttribute("href", n), n = r.href), r.setAttribute("href", n), {
				href: r.href,
				protocol: r.protocol ? r.protocol.replace(/:$/, "") : "",
				host: r.host,
				search: r.search ? r.search.replace(/^\?/, "") : "",
				hash: r.hash ? r.hash.replace(/^#/, "") : "",
				hostname: r.hostname,
				port: r.port,
				pathname: "/" === r.pathname.charAt(0) ? r.pathname : "/" + r.pathname
			}
		}
		return e = n(window.location.href),
			function(t) {
				var r = A.isString(t) ? n(t) : t;
				return r.protocol === e.protocol && r.host === e.host
			}
	}() : function() {
		return !0
	},
	Y = A.isStandardBrowserEnv() ? {
		write: function(e, t, r, n, o, i) {
			var a = [];
			a.push(e + "=" + encodeURIComponent(t)), A.isNumber(r) && a.push("expires=" + new Date(r)
					.toGMTString()), A.isString(n) && a.push("path=" + n), A.isString(o) && a.push("domain=" + o), !
				0 ===
				i && a.push("secure"), document.cookie = a.join("; ")
		},
		read: function(e) {
			var t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
			return t ? decodeURIComponent(t[3]) : null
		},
		remove: function(e) {
			this.write(e, "", Date.now() - 864e5)
		}
	} : {
		write: function() {},
		read: function() {
			return null
		},
		remove: function() {}
	},
	J = function(e) {
		return new Promise((function(t, r) {
			var n = e.data,
				o = e.headers;
			A.isFormData(n) && delete o["Content-Type"];
			var i = new XMLHttpRequest;
			if (e.auth) {
				var a = e.auth.username || "",
					s = e.auth.password || "";
				o.Authorization = "Basic " + btoa(a + ":" + s)
			}
			var u = R(e.baseURL, e.url);
			if (i.open(e.method.toUpperCase(), N(u, e.params, e.paramsSerializer), !0), i.timeout = e
				.timeout, i.onreadystatechange = function() {
					if (i && 4 === i.readyState && (0 !== i.status || i.responseURL && 0 === i.responseURL
							.indexOf("file:"))) {
						var n = "getAllResponseHeaders" in i ? function(e) {
								var t, r, n, o = {};
								return e ? (A.forEach(e.split("\n"), (function(e) {
									if (n = e.indexOf(":"), t = A.trim(e.substr(0, n))
										.toLowerCase(), r = A.trim(e.substr(n + 1)), t) {
										if (o[t] && H.indexOf(t) >= 0) return;
										o[t] = "set-cookie" === t ? (o[t] ? o[t] : [])
											.concat([r]) : o[t] ? o[t] + ", " + r : r
									}
								})), o) : o
							}(i.getAllResponseHeaders()) : null,
							o = {
								data: e.responseType && "text" !== e.responseType ? i.response : i
									.responseText,
								status: i.status,
								statusText: i.statusText,
								headers: n,
								config: e,
								request: i
							};
						L(t, r, o), i = null
					}
				}, i.onabort = function() {
					i && (r(C("Request aborted", e, "ECONNABORTED", i)), i = null)
				}, i.onerror = function() {
					r(C("Network Error", e, null, i)), i = null
				}, i.ontimeout = function() {
					var t = "timeout of " + e.timeout + "ms exceeded";
					e.timeoutErrorMessage && (t = e.timeoutErrorMessage), r(C(t, e, "ECONNABORTED", i)), i =
						null
				}, A.isStandardBrowserEnv()) {
				var c = Y,
					f = (e.withCredentials || W(u)) && e.xsrfCookieName ? c.read(e.xsrfCookieName) : void 0;
				f && (o[e.xsrfHeaderName] = f)
			}
			if ("setRequestHeader" in i && A.forEach(o, (function(e, t) {
					void 0 === n && "content-type" === t.toLowerCase() ? delete o[t] : i
						.setRequestHeader(t, e)
				})), A.isUndefined(e.withCredentials) || (i.withCredentials = !!e.withCredentials), e
				.responseType) try {
				i.responseType = e.responseType
			} catch (t) {
				if ("json" !== e.responseType) throw t
			}
			"function" == typeof e.onDownloadProgress && i.addEventListener("progress", e
					.onDownloadProgress), "function" == typeof e.onUploadProgress && i.upload && i.upload
				.addEventListener("progress", e.onUploadProgress), e.cancelToken && e.cancelToken.promise
				.then((function(e) {
					i && (i.abort(), r(e), i = null)
				})), void 0 === n && (n = null), i.send(n)
		}))
	},
	K = {
		"Content-Type": "application/x-www-form-urlencoded"
	};

function V(e, t) {
	!A.isUndefined(e) && A.isUndefined(e["Content-Type"]) && (e["Content-Type"] = t)
}
var X, Z = {
	adapter: (("undefined" != typeof XMLHttpRequest || "undefined" != typeof process && "[object process]" ===
		Object.prototype.toString.call(process)) && (X = J), X),
	transformRequest: [function(e, t) {
		return G(t, "Accept"), G(t, "Content-Type"), A.isFormData(e) || A.isArrayBuffer(e) || A.isBuffer(
				e) || A.isStream(e) || A.isFile(e) || A.isBlob(e) ? e : A.isArrayBufferView(e) ? e.buffer :
			A
			.isURLSearchParams(e) ? (V(t, "application/x-www-form-urlencoded;charset=utf-8"), e
				.toString()) : A.isObject(e) ? (V(t, "application/json;charset=utf-8"), JSON.stringify(e)) :
			e
	}],
	transformResponse: [function(e) {
		if ("string" == typeof e) try {
			e = JSON.parse(e)
		} catch (e) {}
		return e
	}],
	timeout: 0,
	xsrfCookieName: "XSRF-TOKEN",
	xsrfHeaderName: "X-XSRF-TOKEN",
	maxContentLength: -1,
	validateStatus: function(e) {
		return e >= 200 && e < 300
	}
};
Z.headers = {
	common: {
		Accept: "application/json, text/plain, */*"
	}
}, A.forEach(["delete", "get", "head"], (function(e) {
	Z.headers[e] = {}
})), A.forEach(["post", "put", "patch"], (function(e) {
	Z.headers[e] = A.merge(K)
}));
var ee = Z;

function te(e) {
	e.cancelToken && e.cancelToken.throwIfRequested()
}
var re = function(e) {
		return te(e), e.headers = e.headers || {}, e.data = F(e.data, e.headers, e.transformRequest), e.headers = A
			.merge(e.headers.common || {}, e.headers[e.method] || {}, e.headers), A.forEach(["delete", "get", "head",
				"post", "put", "patch", "common"
			], (function(t) {
				delete e.headers[t]
			})), (e.adapter || ee.adapter)(e).then((function(t) {
				return te(e), t.data = F(t.data, t.headers, e.transformResponse), t
			}), (function(t) {
				return B(t) || (te(e), t && t.response && (t.response.data = F(t.response.data, t.response
					.headers, e.transformResponse))), Promise.reject(t)
			}))
	},
	ne = function(e, t) {
		t = t || {};
		var r = {},
			n = ["url", "method", "params", "data"],
			o = ["headers", "auth", "proxy"],
			i = ["baseURL", "url", "transformRequest", "transformResponse", "paramsSerializer", "timeout",
				"withCredentials", "adapter", "responseType", "xsrfCookieName", "xsrfHeaderName", "onUploadProgress",
				"onDownloadProgress", "maxContentLength", "validateStatus", "maxRedirects", "httpAgent", "httpsAgent",
				"cancelToken", "socketPath"
			];
		A.forEach(n, (function(e) {
			void 0 !== t[e] && (r[e] = t[e])
		})), A.forEach(o, (function(n) {
			A.isObject(t[n]) ? r[n] = A.deepMerge(e[n], t[n]) : void 0 !== t[n] ? r[n] = t[n] : A.isObject(
				e[n]) ? r[n] = A.deepMerge(e[n]) : void 0 !== e[n] && (r[n] = e[n])
		})), A.forEach(i, (function(n) {
			void 0 !== t[n] ? r[n] = t[n] : void 0 !== e[n] && (r[n] = e[n])
		}));
		var a = n.concat(o).concat(i),
			s = Object.keys(t).filter((function(e) {
				return -1 === a.indexOf(e)
			}));
		return A.forEach(s, (function(n) {
			void 0 !== t[n] ? r[n] = t[n] : void 0 !== e[n] && (r[n] = e[n])
		})), r
	};

function oe(e) {
	this.defaults = e, this.interceptors = {
		request: new U,
		response: new U
	}
}
oe.prototype.request = function(e) {
	"string" == typeof e ? (e = arguments[1] || {}).url = arguments[0] : e = e || {}, (e = ne(this.defaults, e))
		.method ? e.method = e.method.toLowerCase() : this.defaults.method ? e.method = this.defaults.method
		.toLowerCase() : e.method = "get";
	var t = [re, void 0],
		r = Promise.resolve(e);
	for (this.interceptors.request.forEach((function(e) {
			t.unshift(e.fulfilled, e.rejected)
		})), this.interceptors.response.forEach((function(e) {
			t.push(e.fulfilled, e.rejected)
		})); t.length;) r = r.then(t.shift(), t.shift());
	return r
}, oe.prototype.getUri = function(e) {
	return e = ne(this.defaults, e), N(e.url, e.params, e.paramsSerializer).replace(/^\?/, "")
}, A.forEach(["delete", "get", "head", "options"], (function(e) {
	oe.prototype[e] = function(t, r) {
		return this.request(A.merge(r || {}, {
			method: e,
			url: t
		}))
	}
})), A.forEach(["post", "put", "patch"], (function(e) {
	oe.prototype[e] = function(t, r, n) {
		return this.request(A.merge(n || {}, {
			method: e,
			url: t,
			data: r
		}))
	}
}));
var ie = oe;

function ae(e) {
	this.message = e
}
ae.prototype.toString = function() {
	return "Cancel" + (this.message ? ": " + this.message : "")
}, ae.prototype.__CANCEL__ = !0;
var se = ae;

function ue(e) {
	if ("function" != typeof e) throw new TypeError("executor must be a function.");
	var t;
	this.promise = new Promise((function(e) {
		t = e
	}));
	var r = this;
	e((function(e) {
		r.reason || (r.reason = new se(e), t(r.reason))
	}))
}
ue.prototype.throwIfRequested = function() {
	if (this.reason) throw this.reason
}, ue.source = function() {
	var e;
	return {
		token: new ue((function(t) {
			e = t
		})),
		cancel: e
	}
};
var ce = ue;

function fe(e) {
	var t = new ie(e),
		r = T(ie.prototype.request, t);
	return A.extend(r, ie.prototype, t), A.extend(r, t), r
}
var le = fe(ee);
le.Axios = ie, le.create = function(e) {
	return fe(ne(le.defaults, e))
}, le.Cancel = se, le.CancelToken = ce, le.isCancel = B, le.all = function(e) {
	return Promise.all(e)
}, le.spread = function(e) {
	return function(t) {
		return e.apply(null, t)
	}
};
var de = le,
	pe = le;
de.default = pe;
var he = de,
	ge = "global.",
	me = ge + "set-runtime",
	ve = ge + "set-uid",
	ye = ge + "set-token",
	be = ge + "set-api",
	_e = ge + "set-debug",
	we = ge + "set-database",
	Se = ge + "set-groupId",
	Ie = ge + "set-controller-name",
	Te = "data.",
	Me = ".async",
	ke = Te + "set-history",
	xe = Te + "add-history",
	Ee = Te + "update-list",
	Oe = Te + "get-history" + Me,
	je = Te + "clear-history",
	Ae = Te + "update-history",
	Ce = Te + "update-msg-to-dbhistory",
	Le = Te + "get-group-list" + Me,
	De = Te + "update-group-to-dbgrouplist",
	Ne = Te + "set-group-list",
	Re = Te + "add-group-list",
	qe = Te + "clear-group-list",
	Pe = Te + "update-group-list",
	$e = {
		uid: "",
		token: "",
		runtime: {
			env: "",
			apigw: ""
		},
		debug: !1,
		db: !1,
		controllerName: "",
		api: {
			wssurl: "",
			$telescope: "",
			getAdvisoryInfo: "",
			getWaitConsultationInfo: "",
			getQuestion: "",
			answerQuestion: "",
			$commonApiBaseUrl: "",
			$drugstoreQueryMessages: "",
			$drugstoreQueryGroupInfo: "",
			$drugstoreSendMessage: "",
			queryGroupInfo: "",
			$drugstoreUploadFile: "",
			$drugstoreQueryGroupList: "",
			getDmsConfigData: "",
			$operateQueryMessages: "",
			$operateQueryGroupList: "",
			$operateQueryGroupInfo: "",
			$operateQueryCreateGroup: "",
			$commonApiQueryMessages: "",
			$commonApiQueryGroupList: "",
			$commonApiQueryGroupInfo: "",
			$openplatformLogin: ""
		}
	};
var ze = {
		_ws: null,
		retryTimesMax: 50
	},
	Qe = "core/";
var Ue = [],
	Fe = {
		historyMessageList: Ue,
		historyMessageParams: {
			hasMoreData: !1,
			nextToken: "",
			dataFrom: ""
		},
		groupMessageList: Ue,
		groupMessageParams: {
			hasMoreData: !1,
			nextToken: "",
			dataFrom: ""
		},
		groupId: -1
	};
var Be = [],
	Ge = {
		historyMessageList: Be,
		historyMessageParams: {
			hasMoreData: !1,
			nextToken: "",
			dataFrom: ""
		},
		groupMessageList: Be,
		groupMessageParams: {
			hasMoreData: !1,
			nextToken: "",
			dataFrom: ""
		},
		groupId: -1
	};
var He = function(e) {
		return "@@redux-saga/" + e
	},
	We = He("CANCEL_PROMISE"),
	Ye = He("CHANNEL_END"),
	Je = He("IO"),
	Ke = He("MATCH"),
	Ve = He("MULTICAST"),
	Xe = He("SAGA_ACTION"),
	Ze = He("SELF_CANCELLATION"),
	et = He("TASK"),
	tt = He("TASK_CANCEL"),
	rt = He("TERMINATE"),
	nt = He("LOCATION");

function ot() {
	return ot = Object.assign || function(e) {
		for (var t = 1; t < arguments.length; t++) {
			var r = arguments[t];
			for (var n in r) Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n])
		}
		return e
	}, ot.apply(this, arguments)
}
var it = function(e) {
		return null == e
	},
	at = function(e) {
		return null != e
	},
	st = function(e) {
		return "function" == typeof e
	},
	ut = function(e) {
		return "string" == typeof e
	},
	ct = Array.isArray,
	ft = function(e) {
		return e && st(e.then)
	},
	lt = function(e) {
		return e && st(e.next) && st(e.throw)
	},
	dt = function e(t) {
		return t && (ut(t) || gt(t) || st(t) || ct(t) && t.every(e))
	},
	pt = function(e) {
		return e && st(e.take) && st(e.close)
	},
	ht = function(e) {
		return st(e) && e.hasOwnProperty("toString")
	},
	gt = function(e) {
		return Boolean(e) && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype
	},
	mt = function(e) {
		return pt(e) && e[Ve]
	};

function vt(e, t) {
	var r;
	void 0 === t && (t = !0);
	var n = new Promise((function(n) {
		r = setTimeout(n, e, t)
	}));
	return n[We] = function() {
		clearTimeout(r)
	}, n
}
var yt = function(e) {
		return function() {
			return e
		}
	}(!0),
	bt = function() {},
	_t = function(e) {
		return e
	},
	wt = function(e, t) {
		ot(e, t), Object.getOwnPropertySymbols && Object.getOwnPropertySymbols(t).forEach((function(r) {
			e[r] = t[r]
		}))
	};

function St(e, t) {
	var r = e.indexOf(t);
	r >= 0 && e.splice(r, 1)
}
var It = function(e) {
		throw e
	},
	Tt = function(e) {
		return {
			value: e,
			done: !0
		}
	};

function Mt(e, t, r) {
	void 0 === t && (t = It), void 0 === r && (r = "iterator");
	var n = {
		meta: {
			name: r
		},
		next: e,
		throw: t,
		return: Tt,
		isSagaIterator: !0
	};
	return "undefined" != typeof Symbol && (n[Symbol.iterator] = function() {
		return n
	}), n
}

function kt(e, t) {
	var r = t.sagaStack;
	console.error(e), console.error(r)
}
var xt = function(e) {
		return Array.apply(null, new Array(e))
	},
	Et = function(e) {
		return function(t) {
			return e(Object.defineProperty(t, Xe, {
				value: !0
			}))
		}
	},
	Ot = function(e) {
		return e === rt
	},
	jt = function(e) {
		return e === tt
	},
	At = function(e) {
		return Ot(e) || jt(e)
	};

function Ct(e, t) {
	var r, n = Object.keys(e),
		o = n.length,
		i = 0,
		a = ct(e) ? xt(o) : {},
		s = {};
	return n.forEach((function(e) {
		var n = function(n, s) {
			r || (s || At(n) ? (t.cancel(), t(n, s)) : (a[e] = n, ++i === o && (r = !0, t(a))))
		};
		n.cancel = bt, s[e] = n
	})), t.cancel = function() {
		r || (r = !0, n.forEach((function(e) {
			return s[e].cancel()
		})))
	}, s
}

function Lt(e) {
	return {
		name: e.name || "anonymous",
		location: Dt(e)
	}
}

function Dt(e) {
	return e[nt]
}
var Nt = function(e) {
		return function(e, t) {
			void 0 === e && (e = 10);
			var r = new Array(e),
				n = 0,
				o = 0,
				i = 0,
				a = function(t) {
					r[o] = t, o = (o + 1) % e, n++
				},
				s = function() {
					if (0 != n) {
						var t = r[i];
						return r[i] = null, n--, i = (i + 1) % e, t
					}
				},
				u = function() {
					for (var e = []; n;) e.push(s());
					return e
				};
			return {
				isEmpty: function() {
					return 0 == n
				},
				put: function(s) {
					var c;
					if (n < e) a(s);
					else switch (t) {
						case 1:
							throw new Error("Channel's Buffer overflow!");
						case 3:
							r[o] = s, i = o = (o + 1) % e;
							break;
						case 4:
							c = 2 * e, r = u(), n = r.length, o = r.length, i = 0, r.length = c, e = c, a(s)
					}
				},
				take: s,
				flush: u
			}
		}(e, 4)
	},
	Rt = "TAKE",
	qt = "PUT",
	Pt = "CALL",
	$t = "FORK",
	zt = "CANCEL",
	Qt = function(e, t) {
		var r;
		return (r = {})[Je] = !0, r.combinator = !1, r.type = e, r.payload = t, r
	};

function Ut(e, t) {
	return void 0 === e && (e = "*"), dt(e) ? Qt(Rt, {
		pattern: e
	}) : mt(e) && at(t) && dt(t) ? Qt(Rt, {
		channel: e,
		pattern: t
	}) : pt(e) ? Qt(Rt, {
		channel: e
	}) : void 0
}

function Ft(e, t) {
	return it(t) && (t = e, e = void 0), Qt(qt, {
		channel: e,
		action: t
	})
}

function Bt(e, t) {
	var r, n = null;
	return st(e) ? r = e : (ct(e) ? (n = e[0], r = e[1]) : (n = e.context, r = e.fn), n && ut(r) && st(n[r]) && (r = n[
		r])), {
		context: n,
		fn: r,
		args: t
	}
}

function Gt(e) {
	for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n];
	return Qt($t, Bt(e, r))
}
var Ht = function(e) {
	for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n];
	return Qt(Pt, Bt(e, r))
}.bind(null, vt);
var Wt = [],
	Yt = 0;

function Jt(e) {
	try {
		Xt(), e()
	} finally {
		Zt()
	}
}

function Kt(e) {
	Wt.push(e), Yt || (Xt(), er())
}

function Vt(e) {
	try {
		return Xt(), e()
	} finally {
		er()
	}
}

function Xt() {
	Yt++
}

function Zt() {
	Yt--
}

function er() {
	var e;
	for (Zt(); !Yt && void 0 !== (e = Wt.shift());) Jt(e)
}
var tr = function(e) {
		return function(t) {
			return e.some((function(e) {
				return ar(e)(t)
			}))
		}
	},
	rr = function(e) {
		return function(t) {
			return e(t)
		}
	},
	nr = function(e) {
		return function(t) {
			return t.type === String(e)
		}
	},
	or = function(e) {
		return function(t) {
			return t.type === e
		}
	},
	ir = function() {
		return yt
	};

function ar(e) {
	var t = "*" === e ? ir : ut(e) ? nr : ct(e) ? tr : ht(e) ? nr : st(e) ? rr : gt(e) ? or : null;
	if (null === t) throw new Error("invalid pattern: " + e);
	return t(e)
}
var sr = {
		type: Ye
	},
	ur = function(e) {
		return e && e.type === Ye
	};

function cr() {
	var e, t, r, n, o, i, a = (t = !1, n = r = [], o = function() {
			n === r && (n = r.slice())
		}, i = function() {
			t = !0;
			var e = r = n;
			n = [], e.forEach((function(e) {
				e(sr)
			}))
		}, (e = {})[Ve] = !0, e.put = function(e) {
			if (!t)
				if (ur(e)) i();
				else
					for (var o = r = n, a = 0, s = o.length; a < s; a++) {
						var u = o[a];
						u[Ke](e) && (u.cancel(), u(e))
					}
		}, e.take = function(e, r) {
			var i, a;
			void 0 === r && (r = ir), t ? e(sr) : (e[Ke] = r, o(), n.push(e), e.cancel = (i = function() {
				o(), St(n, e)
			}, a = !1, function() {
				a || (a = !0, i())
			}))
		}, e.close = i, e),
		s = a.put;
	return a.put = function(e) {
		e[Xe] ? s(e) : Kt((function() {
			s(e)
		}))
	}, a
}
var fr = 0,
	lr = 1,
	dr = 2,
	pr = 3;

function hr(e, t) {
	var r = e[We];
	st(r) && (t.cancel = r), e.then(t, (function(e) {
		t(e, !0)
	}))
}
var gr, mr = 0,
	vr = function() {
		return ++mr
	};

function yr(e) {
	e.isRunning() && e.cancel()
}
var br = ((gr = {})[Rt] = function(e, t, r) {
	var n = t.channel,
		o = void 0 === n ? e.channel : n,
		i = t.pattern,
		a = t.maybe,
		s = function(e) {
			e instanceof Error ? r(e, !0) : !ur(e) || a ? r(e) : r(rt)
		};
	try {
		o.take(s, at(i) ? ar(i) : null)
	} catch (e) {
		return void r(e, !0)
	}
	r.cancel = s.cancel
}, gr[qt] = function(e, t, r) {
	var n = t.channel,
		o = t.action,
		i = t.resolve;
	Kt((function() {
		var t;
		try {
			t = (n ? n.put : e.dispatch)(o)
		} catch (e) {
			return void r(e, !0)
		}
		i && ft(t) ? hr(t, r) : r(t)
	}))
}, gr.ALL = function(e, t, r, n) {
	var o = n.digestEffect,
		i = mr,
		a = Object.keys(t);
	if (0 !== a.length) {
		var s = Ct(t, r);
		a.forEach((function(e) {
			o(t[e], i, s[e], e)
		}))
	} else r(ct(t) ? [] : {})
}, gr.RACE = function(e, t, r, n) {
	var o = n.digestEffect,
		i = mr,
		a = Object.keys(t),
		s = ct(t) ? xt(a.length) : {},
		u = {},
		c = !1;
	a.forEach((function(e) {
		var t = function(t, n) {
			c || (n || At(t) ? (r.cancel(), r(t, n)) : (r.cancel(), c = !0, s[e] = t, r(s)))
		};
		t.cancel = bt, u[e] = t
	})), r.cancel = function() {
		c || (c = !0, a.forEach((function(e) {
			return u[e].cancel()
		})))
	}, a.forEach((function(e) {
		c || o(t[e], i, u[e], e)
	}))
}, gr[Pt] = function(e, t, r, n) {
	var o = t.context,
		i = t.fn,
		a = t.args,
		s = n.task;
	try {
		var u = i.apply(o, a);
		if (ft(u)) return void hr(u, r);
		if (lt(u)) return void jr(e, u, s.context, mr, Lt(i), !1, r);
		r(u)
	} catch (e) {
		r(e, !0)
	}
}, gr.CPS = function(e, t, r) {
	var n = t.context,
		o = t.fn,
		i = t.args;
	try {
		var a = function(e, t) {
			it(e) ? r(t) : r(e, !0)
		};
		o.apply(n, i.concat(a)), a.cancel && (r.cancel = a.cancel)
	} catch (e) {
		r(e, !0)
	}
}, gr[$t] = function(e, t, r, n) {
	var o = t.context,
		i = t.fn,
		a = t.args,
		s = t.detached,
		u = n.task,
		c = function(e) {
			var t = e.context,
				r = e.fn,
				n = e.args;
			try {
				var o = r.apply(t, n);
				if (lt(o)) return o;
				var i = !1;
				return Mt((function(e) {
					return i ? {
						value: e,
						done: !0
					} : (i = !0, {
						value: o,
						done: !ft(o)
					})
				}))
			} catch (e) {
				return Mt((function() {
					throw e
				}))
			}
		}({
			context: o,
			fn: i,
			args: a
		}),
		f = function(e, t) {
			return e.isSagaIterator ? {
				name: e.meta.name
			} : Lt(t)
		}(c, i);
	Vt((function() {
		var t = jr(e, c, u.context, mr, f, s, void 0);
		s ? r(t) : t.isRunning() ? (u.queue.addTask(t), r(t)) : t.isAborted() ? u.queue.abort(t
			.error()) : r(t)
	}))
}, gr.JOIN = function(e, t, r, n) {
	var o = n.task,
		i = function(e, t) {
			if (e.isRunning()) {
				var r = {
					task: o,
					cb: t
				};
				t.cancel = function() {
					e.isRunning() && St(e.joiners, r)
				}, e.joiners.push(r)
			} else e.isAborted() ? t(e.error(), !0) : t(e.result())
		};
	if (ct(t)) {
		if (0 === t.length) return void r([]);
		var a = Ct(t, r);
		t.forEach((function(e, t) {
			i(e, a[t])
		}))
	} else i(t, r)
}, gr[zt] = function(e, t, r, n) {
	var o = n.task;
	t === Ze ? yr(o) : ct(t) ? t.forEach(yr) : yr(t), r()
}, gr.SELECT = function(e, t, r) {
	var n = t.selector,
		o = t.args;
	try {
		r(n.apply(void 0, [e.getState()].concat(o)))
	} catch (e) {
		r(e, !0)
	}
}, gr.ACTION_CHANNEL = function(e, t, r) {
	var n = t.pattern,
		o = function(e) {
			void 0 === e && (e = Nt());
			var t = !1,
				r = [];
			return {
				take: function(n) {
					t && e.isEmpty() ? n(sr) : e.isEmpty() ? (r.push(n), n.cancel = function() {
						St(r, n)
					}) : n(e.take())
				},
				put: function(n) {
					if (!t) {
						if (0 === r.length) return e.put(n);
						r.shift()(n)
					}
				},
				flush: function(r) {
					t && e.isEmpty() ? r(sr) : r(e.flush())
				},
				close: function() {
					if (!t) {
						t = !0;
						var e = r;
						r = [];
						for (var n = 0, o = e.length; n < o; n++)(0, e[n])(sr)
					}
				}
			}
		}(t.buffer),
		i = ar(n),
		a = function t(r) {
			ur(r) || e.channel.take(t, i), o.put(r)
		},
		s = o.close;
	o.close = function() {
		a.cancel(), s()
	}, e.channel.take(a, i), r(o)
}, gr.CANCELLED = function(e, t, r, n) {
	r(n.task.isCancelled())
}, gr.FLUSH = function(e, t, r) {
	t.flush(r)
}, gr.GET_CONTEXT = function(e, t, r, n) {
	r(n.task.context[t])
}, gr.SET_CONTEXT = function(e, t, r, n) {
	var o = n.task;
	wt(o.context, t), r()
}, gr);

function _r(e, t) {
	return e + "?" + t
}

function wr(e) {
	var t = e.name,
		r = e.location;
	return r ? t + "  " + _r(r.fileName, r.lineNumber) : t
}

function Sr(e) {
	var t = function(e, t) {
		var r;
		return (r = []).concat.apply(r, t.map(e))
	}((function(e) {
		return e.cancelledTasks
	}), e);
	return t.length ? ["Tasks cancelled due to error:"].concat(t).join("\n") : ""
}
var Ir = null,
	Tr = [],
	Mr = function(e) {
		e.crashedEffect = Ir, Tr.push(e)
	},
	kr = function() {
		Ir = null, Tr.length = 0
	},
	xr = function(e) {
		Ir = e
	},
	Er = function() {
		var e, t, r = Tr[0],
			n = Tr.slice(1),
			o = r.crashedEffect ? (e = r.crashedEffect, (t = Dt(e)) ? t.code + "  " + _r(t.fileName, t.lineNumber) :
				"") : null;
		return ["The above error occurred in task " + wr(r.meta) + (o ? " \n when executing effect " + o : "")].concat(n
			.map((function(e) {
				return "    created by " + wr(e.meta)
			})), [Sr(Tr)]).join("\n")
	};

function Or(e, t, r, n, o, i, a) {
	var s;
	void 0 === a && (a = bt);
	var u, c, f = fr,
		l = null,
		d = [],
		p = Object.create(r),
		h = function(e, t, r) {
			var n, o = [],
				i = !1;

			function a(e) {
				t(), u(), r(e, !0)
			}

			function s(t) {
				o.push(t), t.cont = function(s, u) {
					i || (St(o, t), t.cont = bt, u ? a(s) : (t === e && (n = s), o.length || (i = !0, r(n))))
				}
			}

			function u() {
				i || (i = !0, o.forEach((function(e) {
					e.cont = bt, e.cancel()
				})), o = [])
			}
			return s(e), {
				addTask: s,
				cancelAll: u,
				abort: a,
				getTasks: function() {
					return o
				}
			}
		}(t, (function() {
			d.push.apply(d, h.getTasks().map((function(e) {
				return e.meta.name
			})))
		}), g);

	function g(t, r) {
		if (r) {
			if (f = dr, Mr({
					meta: o,
					cancelledTasks: d
				}), m.isRoot) {
				var n = Er();
				kr(), e.onError(t, {
					sagaStack: n
				})
			}
			c = t, l && l.reject(t)
		} else t === tt ? f = lr : f !== lr && (f = pr), u = t, l && l.resolve(t);
		m.cont(t, r), m.joiners.forEach((function(e) {
			e.cb(t, r)
		})), m.joiners = null
	}
	var m = ((s = {})[et] = !0, s.id = n, s.meta = o, s.isRoot = i, s.context = p, s.joiners = [], s.queue = h, s
		.cancel = function() {
			f === fr && (f = lr, h.cancelAll(), g(tt, !1))
		}, s.cont = a, s.end = g, s.setContext = function(e) {
			wt(p, e)
		}, s.toPromise = function() {
			return l || ((e = {}).promise = new Promise((function(t, r) {
				e.resolve = t, e.reject = r
			})), l = e, f === dr ? l.reject(c) : f !== fr && l.resolve(u)), l.promise;
			var e
		}, s.isRunning = function() {
			return f === fr
		}, s.isCancelled = function() {
			return f === lr || f === fr && t.status === lr
		}, s.isAborted = function() {
			return f === dr
		}, s.result = function() {
			return u
		}, s.error = function() {
			return c
		}, s);
	return m
}

function jr(e, t, r, n, o, i, a) {
	var s = e.finalizeRunEffect((function(t, r, n) {
		if (ft(t)) hr(t, n);
		else if (lt(t)) jr(e, t, c.context, r, o, !1, n);
		else if (t && t[Je]) {
			(0, br[t.type])(e, t.payload, n, f)
		} else n(t)
	}));
	l.cancel = bt;
	var u = {
			meta: o,
			cancel: function() {
				u.status === fr && (u.status = lr, l(tt))
			},
			status: fr
		},
		c = Or(e, u, r, n, o, i, a),
		f = {
			task: c,
			digestEffect: d
		};
	return a && (a.cancel = c.cancel), l(), c;

	function l(e, r) {
		try {
			var o;
			r ? (o = t.throw(e), kr()) : jt(e) ? (u.status = lr, l.cancel(), o = st(t.return) ? t.return(tt) : {
				done: !0,
				value: tt
			}) : o = Ot(e) ? st(t.return) ? t.return() : {
				done: !0
			} : t.next(e), o.done ? (u.status !== lr && (u.status = pr), u.cont(o.value)) : d(o.value, n, l)
		} catch (e) {
			if (u.status === lr) throw e;
			u.status = dr, u.cont(e, !0)
		}
	}

	function d(t, r, n, o) {
		void 0 === o && (o = "");
		var i, a = vr();

		function u(r, o) {
			i || (i = !0, n.cancel = bt, e.sagaMonitor && (o ? e.sagaMonitor.effectRejected(a, r) : e.sagaMonitor
				.effectResolved(a, r)), o && xr(t), n(r, o))
		}
		e.sagaMonitor && e.sagaMonitor.effectTriggered({
			effectId: a,
			parentEffectId: r,
			label: o,
			effect: t
		}), u.cancel = bt, n.cancel = function() {
			i || (i = !0, u.cancel(), u.cancel = bt, e.sagaMonitor && e.sagaMonitor.effectCancelled(a))
		}, s(t, a, u)
	}
}

function Ar(e, t) {
	for (var r = e.channel, n = void 0 === r ? cr() : r, o = e.dispatch, i = e.getState, a = e.context, s = void 0 ===
			a ? {} : a, u = e.sagaMonitor, c = e.effectMiddlewares, f = e.onError, l = void 0 === f ? kt : f, d =
			arguments.length, p = new Array(d > 2 ? d - 2 : 0), h = 2; h < d; h++) p[h - 2] = arguments[h];
	var g, m = t.apply(void 0, p),
		v = vr();
	if (u && (u.rootSagaStarted = u.rootSagaStarted || bt, u.effectTriggered = u.effectTriggered || bt, u
			.effectResolved = u.effectResolved || bt, u.effectRejected = u.effectRejected || bt, u.effectCancelled = u
			.effectCancelled || bt, u.actionDispatched = u.actionDispatched || bt, u.rootSagaStarted({
				effectId: v,
				saga: t,
				args: p
			})), c) {
		var y = I.apply(void 0, c);
		g = function(e) {
			return function(t, r, n) {
				return y((function(t) {
					return e(t, r, n)
				}))(t)
			}
		}
	} else g = _t;
	var b = {
		channel: n,
		dispatch: Et(o),
		getState: i,
		sagaMonitor: u,
		onError: l,
		finalizeRunEffect: g
	};
	return Vt((function() {
		var e = jr(b, m, s, v, Lt(t), !0, void 0);
		return u && u.effectResolved(v, e), e
	}))
}
var Cr, Lr, Dr = function(e) {
		return {
			done: !0,
			value: e
		}
	},
	Nr = {};

function Rr(e) {
	return pt(e) ? "channel" : ht(e) ? String(e) : st(e) ? e.name : String(e)
}

function qr(e, t, r) {
	var n, o, i, a = t;

	function s(t, r) {
		if (a === Nr) return Dr(t);
		if (r && !o) throw a = Nr, r;
		n && n(t);
		var s = r ? e[o](r) : e[a]();
		return a = s.nextState, i = s.effect, n = s.stateUpdater, o = s.errorState, a === Nr ? Dr(t) : i
	}
	return Mt(s, (function(e) {
		return s(null, e)
	}), r)
}

function Pr(e, t) {
	for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o];
	var i, a = {
			done: !1,
			value: Ut(e)
		},
		s = function(e) {
			return i = e
		};
	return qr({
		q1: function() {
			return {
				nextState: "q2",
				effect: a,
				stateUpdater: s
			}
		},
		q2: function() {
			return {
				nextState: "q1",
				effect: (e = i, {
					done: !1,
					value: Gt.apply(void 0, [t].concat(n, [e]))
				})
			};
			var e
		}
	}, "q1", "takeEvery(" + Rr(e) + ", " + t.name + ")")
}

function $r(e, t) {
	for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o];
	var i, a, s = {
			done: !1,
			value: Ut(e)
		},
		u = function(e) {
			return {
				done: !1,
				value: Gt.apply(void 0, [t].concat(n, [e]))
			}
		},
		c = function(e) {
			return {
				done: !1,
				value: (t = e, void 0 === t && (t = Ze), Qt(zt, t))
			};
			var t
		},
		f = function(e) {
			return i = e
		},
		l = function(e) {
			return a = e
		};
	return qr({
		q1: function() {
			return {
				nextState: "q2",
				effect: s,
				stateUpdater: l
			}
		},
		q2: function() {
			return i ? {
				nextState: "q3",
				effect: c(i)
			} : {
				nextState: "q1",
				effect: u(a),
				stateUpdater: f
			}
		},
		q3: function() {
			return {
				nextState: "q1",
				effect: u(a),
				stateUpdater: f
			}
		}
	}, "q1", "takeLatest(" + Rr(e) + ", " + t.name + ")")
}

function zr(e, t) {
	for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o];
	return Gt.apply(void 0, [Pr, e, t].concat(n))
}

function Qr(e, t) {
	for (var r = arguments.length, n = new Array(r > 2 ? r - 2 : 0), o = 2; o < r; o++) n[o - 2] = arguments[o];
	return Gt.apply(void 0, [$r, e, t].concat(n))
}! function(e) {
	e["zim-_sendWithdraw"] = "zim-_sendWithdraw", e["zim-setEnv"] = "zim-setEnv", e["zim-addEventListener"] =
		"zim-addEventListener", e["zim-onReconnectMaxTimes"] = "zim-onReconnectMaxTimes", e["zim-onreceiveSendMsg"] =
		"zim-onreceiveSendMsg", e["zim-_onsendsuccess"] = "zim-_onsendsuccess", e["zim-_onsendfail"] =
		"zim-_onsendfail", e["zim-_onmessage"] = "zim-_onmessage", e["zim-_onerror"] = "zim-_onerror", e[
			"zim-_onconnect"] = "zim-_onconnect", e["zim-_onclose"] = "zim-_onclose", e["zim-_sendMessage"] =
		"zim-_sendMessage", e["zim-_onLoginOut"] = "zim-_onLoginOut", e["zim-_destory"] = "zim-_destory", e[
			"main-_wsCoreInit"] = "main-_wsCoreInit", e["main-_addEventListener"] = "main-_addEventListener", e[
			"main-_onClose"] = "main-_onClose", e["main-__reTryConnectTimer"] = "main-__reTryConnectTimer", e[
			"main-_onRevLoginkeep"] = "_onRevLoginkeep", e["main-_onRev"] = "main-_onRev", e["main-_loginKeep"] =
		"main-_loginKeep", e["main-_sendMessageWatch"] = "main-_sendMessageWatch", e["main-_sendMessageError"] =
		"main-_sendMessageError", e["main-_sendMessageTimeOut"] = "main-_sendMessageTimeOut", e["main-_watchMessage"] =
		"main-_watchMessage", e["main-_closeWs"] = "main-_closeWs", e["main-_watchLoginKeep"] = "main-_watchLoginKeep",
		e["core-_connect"] = "core-_connect", e["core-_onopen"] = "core-_onopen", e["core-_onmessage"] =
		"core-_onmessage", e["core-_onerror"] = "core-_onerror", e["core-_onclose"] = "core-_onclose", e["core-_send"] =
		"core-_send", e["api-response"] = "api-response", e["api-request"] = "api-request", e["main-compensateTag"] =
		"main-compensateTag", e["guideDiagnosis.common"] = "guideDiagnosis.common"
}(Cr || (Cr = {}));
var Ur = new Uint8Array(16);

function Fr() {
	if (!Lr && !(Lr = "undefined" != typeof crypto && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) ||
			"undefined" != typeof msCrypto && "function" == typeof msCrypto.getRandomValues && msCrypto.getRandomValues
			.bind(msCrypto))) throw new Error(
		"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported"
	);
	return Lr(Ur)
}
var Br =
	/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
for (var Gr = [], Hr = 0; Hr < 256; ++Hr) Gr.push((Hr + 256).toString(16).substr(1));

function Wr(e) {
	var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
		r = (Gr[e[t + 0]] + Gr[e[t + 1]] + Gr[e[t + 2]] + Gr[e[t + 3]] + "-" + Gr[e[t + 4]] + Gr[e[t + 5]] + "-" + Gr[e[
			t + 6]] + Gr[e[t + 7]] + "-" + Gr[e[t + 8]] + Gr[e[t + 9]] + "-" + Gr[e[t + 10]] + Gr[e[t + 11]] + Gr[e[
			t + 12]] + Gr[e[t + 13]] + Gr[e[t + 14]] + Gr[e[t + 15]]).toLowerCase();
	if (! function(e) {
			return "string" == typeof e && Br.test(e)
		}(r)) throw TypeError("Stringified UUID is invalid");
	return r
}

function Yr(e, t, r) {
	var n = (e = e || {}).random || (e.rng || Fr)();
	if (n[6] = 15 & n[6] | 64, n[8] = 63 & n[8] | 128, t) {
		r = r || 0;
		for (var o = 0; o < 16; ++o) t[r + o] = n[o];
		return t
	}
	return Wr(n)
}
var Jr = a((function(e, t) {
		e.exports = function() {
			var e = "millisecond",
				t = "second",
				r = "minute",
				n = "hour",
				o = "day",
				i = "week",
				a = "month",
				s = "quarter",
				u = "year",
				c = "date",
				f =
				/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d+)?$/,
				l = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,
				d = {
					name: "en",
					weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
					months: "January_February_March_April_May_June_July_August_September_October_November_December"
						.split("_")
				},
				p = function(e, t, r) {
					var n = String(e);
					return !n || n.length >= t ? e : "" + Array(t + 1 - n.length).join(r) + e
				},
				h = {
					s: p,
					z: function(e) {
						var t = -e.utcOffset(),
							r = Math.abs(t),
							n = Math.floor(r / 60),
							o = r % 60;
						return (t <= 0 ? "+" : "-") + p(n, 2, "0") + ":" + p(o, 2, "0")
					},
					m: function e(t, r) {
						if (t.date() < r.date()) return -e(r, t);
						var n = 12 * (r.year() - t.year()) + (r.month() - t.month()),
							o = t.clone().add(n, a),
							i = r - o < 0,
							s = t.clone().add(n + (i ? -1 : 1), a);
						return +(-(n + (r - o) / (i ? o - s : s - o)) || 0)
					},
					a: function(e) {
						return e < 0 ? Math.ceil(e) || 0 : Math.floor(e)
					},
					p: function(f) {
						return {
							M: a,
							y: u,
							w: i,
							d: o,
							D: c,
							h: n,
							m: r,
							s: t,
							ms: e,
							Q: s
						} [f] || String(f || "").toLowerCase().replace(/s$/, "")
					},
					u: function(e) {
						return void 0 === e
					}
				},
				g = "en",
				m = {};
			m[g] = d;
			var v = function(e) {
					return e instanceof w
				},
				y = function(e, t, r) {
					var n;
					if (!e) return g;
					if ("string" == typeof e) m[e] && (n = e), t && (m[e] = t, n = e);
					else {
						var o = e.name;
						m[o] = e, n = o
					}
					return !r && n && (g = n), n || !r && g
				},
				b = function(e, t) {
					if (v(e)) return e.clone();
					var r = "object" == typeof t ? t : {};
					return r.date = e, r.args = arguments, new w(r)
				},
				_ = h;
			_.l = y, _.i = v, _.w = function(e, t) {
				return b(e, {
					locale: t.$L,
					utc: t.$u,
					x: t.$x,
					$offset: t.$offset
				})
			};
			var w = function() {
					function d(e) {
						this.$L = y(e.locale, null, !0), this.parse(e)
					}
					var p = d.prototype;
					return p.parse = function(e) {
						this.$d = function(e) {
							var t = e.date,
								r = e.utc;
							if (null === t) return new Date(NaN);
							if (_.u(t)) return new Date;
							if (t instanceof Date) return new Date(t);
							if ("string" == typeof t && !/Z$/i.test(t)) {
								var n = t.match(f);
								if (n) {
									var o = n[2] - 1 || 0,
										i = (n[7] || "0").substring(0, 3);
									return r ? new Date(Date.UTC(n[1], o, n[3] || 1, n[4] || 0, n[
										5] || 0, n[6] || 0, i)) : new Date(n[1], o, n[3] || 1,
										n[4] || 0, n[5] || 0, n[6] || 0, i)
								}
							}
							return new Date(t)
						}(e), this.$x = e.x || {}, this.init()
					}, p.init = function() {
						var e = this.$d;
						this.$y = e.getFullYear(), this.$M = e.getMonth(), this.$D = e.getDate(), this
							.$W = e.getDay(), this.$H = e.getHours(), this.$m = e.getMinutes(), this
							.$s = e.getSeconds(), this.$ms = e.getMilliseconds()
					}, p.$utils = function() {
						return _
					}, p.isValid = function() {
						return !("Invalid Date" === this.$d.toString())
					}, p.isSame = function(e, t) {
						var r = b(e);
						return this.startOf(t) <= r && r <= this.endOf(t)
					}, p.isAfter = function(e, t) {
						return b(e) < this.startOf(t)
					}, p.isBefore = function(e, t) {
						return this.endOf(t) < b(e)
					}, p.$g = function(e, t, r) {
						return _.u(e) ? this[t] : this.set(r, e)
					}, p.unix = function() {
						return Math.floor(this.valueOf() / 1e3)
					}, p.valueOf = function() {
						return this.$d.getTime()
					}, p.startOf = function(e, s) {
						var f = this,
							l = !!_.u(s) || s,
							d = _.p(e),
							p = function(e, t) {
								var r = _.w(f.$u ? Date.UTC(f.$y, t, e) : new Date(f.$y, t, e), f);
								return l ? r : r.endOf(o)
							},
							h = function(e, t) {
								return _.w(f.toDate()[e].apply(f.toDate("s"), (l ? [0, 0, 0, 0] : [23,
									59, 59, 999
								]).slice(t)), f)
							},
							g = this.$W,
							m = this.$M,
							v = this.$D,
							y = "set" + (this.$u ? "UTC" : "");
						switch (d) {
							case u:
								return l ? p(1, 0) : p(31, 11);
							case a:
								return l ? p(1, m) : p(0, m + 1);
							case i:
								var b = this.$locale().weekStart || 0,
									w = (g < b ? g + 7 : g) - b;
								return p(l ? v - w : v + (6 - w), m);
							case o:
							case c:
								return h(y + "Hours", 0);
							case n:
								return h(y + "Minutes", 1);
							case r:
								return h(y + "Seconds", 2);
							case t:
								return h(y + "Milliseconds", 3);
							default:
								return this.clone()
						}
					}, p.endOf = function(e) {
						return this.startOf(e, !1)
					}, p.$set = function(i, s) {
						var f, l = _.p(i),
							d = "set" + (this.$u ? "UTC" : ""),
							p = (f = {}, f[o] = d + "Date", f[c] = d + "Date", f[a] = d + "Month", f[
									u] = d + "FullYear", f[n] = d + "Hours", f[r] = d + "Minutes", f[
								t] =
								d + "Seconds", f[e] = d + "Milliseconds", f)[l],
							h = l === o ? this.$D + (s - this.$W) : s;
						if (l === a || l === u) {
							var g = this.clone().set(c, 1);
							g.$d[p](h), g.init(), this.$d = g.set(c, Math.min(this.$D, g.daysInMonth()))
								.$d
						} else p && this.$d[p](h);
						return this.init(), this
					}, p.set = function(e, t) {
						return this.clone().$set(e, t)
					}, p.get = function(e) {
						return this[_.p(e)]()
					}, p.add = function(e, s) {
						var c, f = this;
						e = Number(e);
						var l = _.p(s),
							d = function(t) {
								var r = b(f);
								return _.w(r.date(r.date() + Math.round(t * e)), f)
							};
						if (l === a) return this.set(a, this.$M + e);
						if (l === u) return this.set(u, this.$y + e);
						if (l === o) return d(1);
						if (l === i) return d(7);
						var p = (c = {}, c[r] = 6e4, c[n] = 36e5, c[t] = 1e3, c)[l] || 1,
							h = this.$d.getTime() + e * p;
						return _.w(h, this)
					}, p.subtract = function(e, t) {
						return this.add(-1 * e, t)
					}, p.format = function(e) {
						var t = this;
						if (!this.isValid()) return "Invalid Date";
						var r = e || "YYYY-MM-DDTHH:mm:ssZ",
							n = _.z(this),
							o = this.$locale(),
							i = this.$H,
							a = this.$m,
							s = this.$M,
							u = o.weekdays,
							c = o.months,
							f = function(e, n, o, i) {
								return e && (e[n] || e(t, r)) || o[n].substr(0, i)
							},
							d = function(e) {
								return _.s(i % 12 || 12, e, "0")
							},
							p = o.meridiem || function(e, t, r) {
								var n = e < 12 ? "AM" : "PM";
								return r ? n.toLowerCase() : n
							},
							h = {
								YY: String(this.$y).slice(-2),
								YYYY: this.$y,
								M: s + 1,
								MM: _.s(s + 1, 2, "0"),
								MMM: f(o.monthsShort, s, c, 3),
								MMMM: f(c, s),
								D: this.$D,
								DD: _.s(this.$D, 2, "0"),
								d: String(this.$W),
								dd: f(o.weekdaysMin, this.$W, u, 2),
								ddd: f(o.weekdaysShort, this.$W, u, 3),
								dddd: u[this.$W],
								H: String(i),
								HH: _.s(i, 2, "0"),
								h: d(1),
								hh: d(2),
								a: p(i, a, !0),
								A: p(i, a, !1),
								m: String(a),
								mm: _.s(a, 2, "0"),
								s: String(this.$s),
								ss: _.s(this.$s, 2, "0"),
								SSS: _.s(this.$ms, 3, "0"),
								Z: n
							};
						return r.replace(l, (function(e, t) {
							return t || h[e] || n.replace(":", "")
						}))
					}, p.utcOffset = function() {
						return 15 * -Math.round(this.$d.getTimezoneOffset() / 15)
					}, p.diff = function(e, c, f) {
						var l, d = _.p(c),
							p = b(e),
							h = 6e4 * (p.utcOffset() - this.utcOffset()),
							g = this - p,
							m = _.m(this, p);
						return m = (l = {}, l[u] = m / 12, l[a] = m, l[s] = m / 3, l[i] = (g - h) /
							6048e5, l[o] = (g - h) / 864e5, l[n] = g / 36e5, l[r] = g / 6e4, l[t] =
							g / 1e3, l)[d] || g, f ? m : _.a(m)
					}, p.daysInMonth = function() {
						return this.endOf(a).$D
					}, p.$locale = function() {
						return m[this.$L]
					}, p.locale = function(e, t) {
						if (!e) return this.$L;
						var r = this.clone(),
							n = y(e, t, !0);
						return n && (r.$L = n), r
					}, p.clone = function() {
						return _.w(this.$d, this)
					}, p.toDate = function() {
						return new Date(this.valueOf())
					}, p.toJSON = function() {
						return this.isValid() ? this.toISOString() : null
					}, p.toISOString = function() {
						return this.$d.toISOString()
					}, p.toString = function() {
						return this.$d.toUTCString()
					}, d
				}(),
				S = w.prototype;
			return b.prototype = S, [
				["$ms", e],
				["$s", t],
				["$m", r],
				["$H", n],
				["$W", o],
				["$M", a],
				["$y", u],
				["$D", c]
			].forEach((function(e) {
				S[e[1]] = function(t) {
					return this.$g(t, e[0], e[1])
				}
			})), b.extend = function(e, t) {
				return e.$i || (e(t, w, b), e.$i = !0), b
			}, b.locale = y, b.isDayjs = v, b.unix = function(e) {
				return b(1e3 * e)
			}, b.en = m[g], b.Ls = m, b.p = {}, b
		}()
	})),
	Kr = {
		log: function() {
			for (var e, t = [], r = 0; r < arguments.length; r++) t[r] = arguments[r];
			return As.getState().global.debug ? (e = console.log).bind.apply(e, n([console], n(["%czim.log\n",
				"color: #43bb88;font-size: 12px;font-weight: bold;text-decoration: underline;"
			], t))) : function() {}
		},
		registerText: function() {
			for (var e, t = [], r = 0; r < arguments.length; r++) t[r] = arguments[r];
			return (e = console.log).bind.apply(e, n([console], n(["%czim.register\n",
				"color: #108ee9;font-size: 12px;font-weight: bold;text-decoration: underline;"
			], t)))
		},
		warn: function() {
			for (var e, t = [], r = 0; r < arguments.length; r++) t[r] = arguments[r];
			return As.getState().global.debug ? (e = console.warn).bind.apply(e, n([console], n(["zim.warn\n"],
				t))) : function() {}
		},
		error: function() {
			for (var e, t = [], r = 0; r < arguments.length; r++) t[r] = arguments[r];
			return (e = console.error).bind.apply(e, n([console], n(["%czim.error\n",
				"color: #f50;font-size: 12px;font-weight: bold;text-decoration: underline;"
			], t)))
		}
	},
	Vr = -1,
	Xr = null,
	Zr = function(t, r, n) {
		try {
			var o = "im-4.0-" + t;
			if ([Cr["zim-addEventListener"], Cr["main-_addEventListener"], Cr["main-_closeWs"], Cr["main-_wsCoreInit"],
					Cr["main-_onClose"], Cr["main-_onRevLoginkeep"], Cr["main-_onRev"], Cr["main-_loginKeep"], Cr[
						"main-_sendMessageWatch"], Cr["main-_sendMessageTimeOut"], Cr["main-_watchMessage"], Cr[
						"core-_send"], Cr["core-_connect"], Cr["core-_onopen"], Cr["core-_onmessage"], Cr["core-_send"]
				].includes(t)) return;
			var i = As.getState().global,
				a = (i.uid, i.runtime.apigw),
				s = "";
			if ("QA" === a && (s = "https://frontlo-collection.qa.foryor-in.com/log.gif"), "TRQA" === a && (s =
					"https://third.y.91jkys.com/log.gif"), "PRE" !== a && "ONLINE" != a || (s =
					"https://frontlo-collection.foryor-in.com/log.gif"), t === Cr["zim-setEnv"]) {
				try {
					Vr = Yr()
				} catch (e) {
					Vr = en()
				}
				Kr.log("linkid is ", Vr)(), Xr = n
			}
			var u = {
					linkid: Vr,
					data: e(e({}, r), {
						name: Xr && Xr.name
					})
				},
				c = tn(o, u);
			Tn(s, c)
		} catch (e) {
			console.log("埋点发送错误", e)
		}
	},
	en = function() {
		return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (function(e) {
			var t = 16 * Math.random() | 0;
			return ("x" == e ? t : 3 & t | 8).toString(16)
		}))
	},
	tn = function(e, t) {
		var r = As.getState().global,
			n = r.uid;
		r.runtime;
		return {
			trackKey: "30f51e6dc98cffbe885bf506c9c3c7b5f09e7b820b01c02262ce98e72f416139",
			data: {
				customTime: Date.now(),
				isLogin: !0,
				version: "v1.0.41",
				actionType: "EVENT",
				items: [{
					id: en(),
					uid: n,
					trackTime: Date.now(),
					trackId: e,
					custom: t
				}]
			}
		}
	},
	rn = he.create({
		baseURL: "",
		timeout: 2e4,
		withCredentials: !0
	});
rn.interceptors.response.use((function(e) {
	var t;
	return (null === (t = e.config.url) || void 0 === t ? void 0 : t.includes("log.gif")) || Zr(Cr[
		"api-response"], {
		url: e.config.url,
		method: e.config.method,
		status: e.status
	}), e
}), (function(e) {
	var t;
	if (null === (t = e.config.url) || void 0 === t ? void 0 : t.includes("log.gif")) return e;
	Zr(Cr["api-response"], e)
})), rn.interceptors.request.use((function(e) {
	var t, r = As.getState().global,
		n = r.runtime,
		o = r.token;
	console.log('As.getState().global r', r);
	return "QA" === n.apigw && (e.baseURL = "https://apigw-qa.foryor-in.com"), "TRQA" === n.apigw && (e
		.baseURL = "https://quezhen-pharmacy-h5.foryor-in.com/zy"), "PRE" === n.apigw && (e.baseURL =
		"https://apigw-pre.foryor-in.com"), "ONLINE" === n.apigw && (e.baseURL =
		"https://quezhen-pharmacy-h5.foryor-in.com/wenzhen"), n.env === d.MINIAPP && (e.headers.Token = o), (null === (t = e
		.url) || void 0 === t ? void 0 : t.includes("log.gif")) || Zr(Cr["api-request"], {
		url: e.url,
		data: e.data,
		method: e.method
	}), e
}), (function(e) {
	return Zr(Cr["api-request"], e), Promise.reject(e)
}));
var nn = a((function(e, t) {
		e.exports = function(e, t, r) {
			t.prototype.isToday = function() {
				var e = r();
				return this.format("YYYY-MM-DD") === e.format("YYYY-MM-DD")
			}
		}
	})),
	on = a((function(e, t) {
		e.exports = function(e, t, r) {
			t.prototype.isYesterday = function() {
				var e = r().subtract(1, "day");
				return this.format("YYYY-MM-DD") === e.format("YYYY-MM-DD")
			}
		}
	})),
	an = a((function(e, t) {
		e.exports = function(e, t, r) {
			e = e || {};
			var n = t.prototype,
				o = {
					future: "in %s",
					past: "%s ago",
					s: "a few seconds",
					m: "a minute",
					mm: "%d minutes",
					h: "an hour",
					hh: "%d hours",
					d: "a day",
					dd: "%d days",
					M: "a month",
					MM: "%d months",
					y: "a year",
					yy: "%d years"
				};
			r.en.relativeTime = o;
			var i = function(t, n, i, a) {
				for (var s, u, c, f = i.$locale().relativeTime || o, l = e.thresholds || [{
						l: "s",
						r: 44,
						d: "second"
					}, {
						l: "m",
						r: 89
					}, {
						l: "mm",
						r: 44,
						d: "minute"
					}, {
						l: "h",
						r: 89
					}, {
						l: "hh",
						r: 21,
						d: "hour"
					}, {
						l: "d",
						r: 35
					}, {
						l: "dd",
						r: 25,
						d: "day"
					}, {
						l: "M",
						r: 45
					}, {
						l: "MM",
						r: 10,
						d: "month"
					}, {
						l: "y",
						r: 17
					}, {
						l: "yy",
						d: "year"
					}], d = l.length, p = 0; p < d; p += 1) {
					var h = l[p];
					h.d && (s = a ? r(t).diff(i, h.d, !0) : i.diff(t, h.d, !0));
					var g = (e.rounding || Math.round)(Math.abs(s));
					if (c = s > 0, g <= h.r || !h.r) {
						g <= 1 && p > 0 && (h = l[p - 1]);
						var m = f[h.l];
						u = "string" == typeof m ? m.replace("%d", g) : m(g, n, h.l, c);
						break
					}
				}
				if (n) return u;
				var v = c ? f.future : f.past;
				return "function" == typeof v ? v(u) : v.replace("%s", u)
			};
			n.to = function(e, t) {
				return i(e, t, this, !0)
			}, n.from = function(e, t) {
				return i(e, t, this)
			};
			var a = function(e) {
				return e.$u ? r.utc() : r()
			};
			n.toNow = function(e) {
				return this.to(a(this), e)
			}, n.fromNow = function(e) {
				return this.from(a(this), e)
			}
		}
	})),
	sn = a((function(e, t) {
		e.exports = function(e, t, r) {
			r.updateLocale = function(e, t) {
				var n = r.Ls[e];
				if (n) return (t ? Object.keys(t) : []).forEach((function(e) {
					n[e] = t[e]
				})), n
			}
		}
	})),
	un = function(e) {
		console.log('un = function(e)', e);
		var t = e.http,
			r = e.env,
			n = e.zone,
			o = e._self,
			i = e.wss,
			a = o.origin,
			s = "" + i + n + "apigw." + r + a + "/api/share-im-center/1.0/im_ws";
		Kr.log(s, "wssurl")();
		console.log('un = function(e) t', t);
		console.log('un = function(e) n', n);
		console.log('un = function(e) a', a);
		console.log('un = function(e) r', r);
		var u = {
			$drugStoreBaseUrl: "" + t + n + "apigw." + r + a + "/api/drugstore/1.0/",
			$drugstoreQueryMessages: "" + t + n + "apigw." + r + a + "/api/drugstore/1.0/query_message_list",
			$drugstoreQueryGroupList: "" + t + n + "apigw." + r + a + "/api/drugstore/1.0/query_group_list",
			$drugstoreQueryGroupInfo: "" + t + n + "apigw." + r + a + "/api/drugstore/1.0/query_group_by_id",
			getAdvisoryInfo: "" + t + n + "apigw." + r + a + "/api/drugstore/1.0/get_advisory_info",
			getWaitConsultationInfo: "" + t + n + "apigw." + r + a + "/api/drugstore/1.0/getWaitConsultationInfo",
			getQuestion: "" + t + n + "apigw." + r + a + "/api/drugstore/1.0/get_question",
			answerQuestion: "" + t + n + "apigw." + r + a + "/api/drugstore/1.0/answer_question",
			queryGroupMessages: "" + t + n + "apigw." + r + a + "/api/share-im-center/1.0/queryGroupMessages",
			$drugstoreSendMessage: "" + t + n + "apigw." + r + a + "/api/share-im-center/1.0/sendMessage",
			$commonApiBaseUrl: "" + t + n + "apigw." + r + a + "/api/drugstore/1.0/",
			$commonApiQueryMessages: "" + t + n + "apigw." + r + a + "/api/zy-operate-call/1.0/get_messages",
			$commonApiQueryGroupList: "" + t + n + "apigw." + r + a +
				"/api/zy-operate-call/1.0/query_store_session_list",
			$commonApiModeIsQueryAndGetGroupList: "" + t + n + "apigw." + r + a +
				"/api/zy-operate-call/1.0/query_store_session_list",
			$commonApiQueryGroupInfo: "" + t + n + "apigw." + r + a +
				"/api/zy-operate-call/1.0/get_group_info_detail",
			$imageUpload: "" + t + n + "apigw." + r + a + "/api/file/1.0/h5_upload",
			$multipartUpload: "" + t + n + "apigw." + r + a + "/api/file/1.0/multipartUpload",
			$multipartUploadInit: "" + t + n + "apigw." + r + a + "/api/file/1.0/multipartUploadInit",
			$multipartUploadComplete: "" + t + n + "apigw." + r + a + "/api/file/1.0/completeMultipartUpload"
		};
		return Object.assign({
			wssurl: s
		}, u)
	},
	cn = function(e) {
		var t = e.http,
			r = e.env,
			n = e.zone,
			// o = "" + e.wss + n + "apigw." + r + "91jkys.com/api/share-im-center/1.0/im_multiport_ws",
      o = "" + e.wss + n + "apigw." + r + "foryor-in.com/api/share-im-center/1.0/im_multiport_ws",
			i = {
				$drugStoreBaseUrl: "" + t + n + "apigw." + r + "foryor-in.com/api/drugstore/1.0/",
				$drugstoreQueryMessages: "" + t + n + "apigw." + r +
					"foryor-in.com/api/drugstore/1.0/query_message_list",
				$drugstoreQueryGroupList: "" + t + n + "apigw." + r +
					"foryor-in.com/api/drugstore/1.0/query_group_list",
				$drugstoreQueryGroupInfo: "" + t + n + "apigw." + r +
					"foryor-in.com/api/drugstore/1.0/query_group_by_id",
				$drugstoreUploadFile: "" + t + n + "apigw." + r + "foryor-in.com/api/file/1.0/h5_upload",
				getAdvisoryInfo: "" + t + n + "apigw." + r + "foryor-in.com/api/drugstore/1.0/get_advisory_info_zy",
				getWaitConsultationInfo: "" + t + n + "apigw." + r +
					"foryor-in.com/api/drugstore/1.0/getWaitConsultationInfo",
				getQuestion: "" + t + n + "apigw." + r + "foryor-in.com/api/drugstore/1.0/get_question_zy",
				answerQuestion: "" + t + n + "apigw." + r + "foryor-in.com/api/drugstore/1.0/answer_question_zy",
				queryGroupMessages: "" + t + n + "apigw." + r +
					"foryor-in.com/api/share-im-center/1.0/queryGroupMessages",
				$drugstoreSendMessage: "" + t + n + "apigw." + r + "foryor-in.com/api/share-im-center/1.0/sendMessage",
				$commonApiBaseUrl: "" + t + n + "apigw." + r + "foryor-in.com/api/drugstore/1.0/",
				$commonApiQueryMessages: "" + t + n + "apigw." + r +
					"foryor-in.com/api/drugstore/1.0/query_message_list",
				$commonApiQueryGroupList: "" + t + n + "apigw." + r +
					"foryor-in.com/api/drugstore/1.0/query_group_list",
				$commonApiQueryGroupInfo: "" + t + n + "apigw." + r +
					"foryor-in.com/api/drugstore/1.0/query_group_by_id",
				$imageUpload: "" + t + n + "apigw." + r + "foryor-in.com/api/file/1.0/h5_upload"
			};
		return e._self.name === h.drugPlatform ? Object.assign({
			wssurl: o
		}, i) : i
	},
	fn = function(e) {
		console.log('fn = function(e)', e);
		var t = As.getState().global.runtime,
			r = e.env,
			n = e.zone,
			o = e.wss,
			i = e._self,
			// a = "" + o + n + "apigw." + r + "91jkys.com/api/share-im-center/1.0/im_multiport_ws",
      a = "" + o + n + "apigw." + r + "foryor-in.com/api/share-im-center/1.0/im_multiport_ws",
      
			s = "https://quezhen-pharmacy-h5.foryor-in.com/wenzhen";
		"TRQA" === t.apigw ? (a = o + "apigw-wss.foryor-in.com/api/share-im-center/1.0/im_multiport_ws", s =
			"https://quezhen-pharmacy-h5.foryor-in.com/zy") : "QA" === t.apigw && (s =
			"https://apigw.qa.foryor-in.com"), console.log(a);
		var u = {
			$drugStoreBaseUrl: "/api/drugstore/1.0/",
			$drugstoreQueryMessages: "/api/drugstore/1.0/query_message_list",
			$drugstoreQueryGroupList: "/api/drugstore/1.0/query_group_list",
			$drugstoreQueryGroupInfo: "/api/drugstore/1.0/query_group_by_id",
			$drugstoreUploadFile: "/api/file/1.0/h5_upload",
			getAdvisoryInfo: "/api/drugstore/1.0/get_advisory_info_zy",
			getWaitConsultationInfo: "/api/drugstore/1.0/getWaitConsultationInfo",
			getQuestion: "/api/drugstore/1.0/get_question_zy",
			answerQuestion: "/api/drugstore/1.0/answer_question_zy",
			queryGroupMessages: "/api/share-im-center/1.0/queryGroupMessages",
			$drugstoreSendMessage: "/api/share-im-center/1.0/sendMessage",
			$commonApiBaseUrl: "/api/drugstore/1.0/",
			$commonApiQueryMessages: "/api/drugstore/1.0/query_message_list",
			$commonApiQueryGroupList: "/api/drugstore/1.0/query_group_list",
			$commonApiQueryGroupInfo: "/api/drugstore/1.0/query_group_by_id",
			$imageUpload: "/api/file/1.0/h5_upload",
			$getVideoPrescriptionInfo: "/api/drugstore/1.0/get_third_video_prescription_info",
			$apipre: s
		};
		return i.name === h.drugSaasTr ? Object.assign({
			wssurl: a
		}, u) : u
	},
	ln = function(e) {
		var t = e.http,
			r = e.env,
			n = e.zone;
		return {
			$operateQueryBaseUrl: "" + t + n + "apigw." + r + "foryor-in.com/api/composite-portal/1.0/",
			$operateQueryMessages: "" + t + n + "apigw." + r +
				"foryor-in.com/api/composite-portal/1.0/query_message_list",
			$operateQueryGroupList: "" + t + n + "apigw." + r +
				"foryor-in.com/api/composite-portal/1.0/query_group_list",
			$operateQueryGroupInfo: "" + t + n + "apigw." + r +
				"foryor-in.com/api/composite-portal/1.0/query_group_by_id",
			$commonApiBaseUrl: "" + t + n + "apigw." + r + "foryor-in.com/api/composite-portal/1.0/",
			$commonApiQueryMessages: "" + t + n + "apigw." + r +
				"foryor-in.com/api/composite-portal/1.0/query_message_list",
			$commonApiQueryGroupList: "" + t + n + "apigw." + r +
				"foryor-in.com/api/composite-portal/1.0/query_group_list",
			$commonApiQueryGroupInfo: "" + t + n + "apigw." + r +
				"foryor-in.com/api/composite-portal/1.0/query_group_by_id",
			$commonApiCallUdesk: "" + t + n + "apigw." + r +
				"foryor-in.com/api/share-im-center/1.0/createChatGroupBySceneAuth",
			$imageUpload: "" + t + n + "apigw." + r + "foryor-in.com/api/file/1.0/h5_upload",
			$multipartUpload: "" + t + n + "apigw." + r + "foryor-in.com/api/file/1.0/multipartUpload",
			$multipartUploadInit: "" + t + n + "apigw." + r + "foryor-in.com/api/file/1.0/multipartUploadInit",
			$multipartUploadComplete: "" + t + n + "apigw." + r + "foryor-in.com/api/file/1.0/completeMultipartUpload"
		}
	},
	dn = function(e) {
		var t = e.http,
			r = e.env,
			n = e.zone;
		return {
			$operateQueryBaseUrl: "" + t + n + "apigw." + r + "foryor-in.com/api/composite-portal/1.0/",
			$operateQueryMessages: "" + t + n + "apigw." + r +
				"foryor-in.com/api/composite-portal/1.0/query_message_list",
			$operateQueryGroupList: "" + t + n + "apigw." + r +
				"foryor-in.com/api/composite-portal/1.0/query_group_list",
			$operateQueryGroupInfo: "" + t + n + "apigw." + r +
				"foryor-in.com/api/composite-portal/1.0/query_group_by_id",
			$commonApiBaseUrl: "" + t + n + "apigw." + r + "foryor-in.com/api/composite-portal/1.0/",
			$commonApiQueryMessages: "" + t + n + "apigw." + r +
				"foryor-in.com/api/composite-portal/1.0/query_message_list",
			$commonApiQueryGroupList: "" + t + n + "apigw." + r +
				"foryor-in.com/api/composite-portal/1.0/query_group_list",
			$commonApiQueryGroupInfo: "" + t + n + "apigw." + r +
				"foryor-in.com/api/composite-portal/1.0/query_group_by_id",
			$imageUpload: "" + t + n + "apigw." + r + "foryor-in.com/api/file/1.0/h5_upload"
		}
	},
	pn = function(e) {
		var t = e.http,
			r = e.env,
			n = e.zone;
		return {
			$drugstoreQueryMessages: "" + t + n + "apigw." + r +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/query_message_list",
			$drugstoreQueryGroupList: "" + t + n + "apigw." + r +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/query_group_list",
			$drugstoreQueryGroupInfo: "" + t + n + "apigw." + r +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/query_group_by_id",
			$drugstoreUploadFile: "" + t + n + "apigw." + r + "foryor-in.com/api/file/1.0/upload",
			getAdvisoryInfo: "" + t + n + "apigw." + r +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/get_advisory_info",
			getWaitConsultationInfo: "" + t + n + "apigw." + r +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/getWaitConsultationInfo",
			getQuestion: "" + t + n + "apigw." + r +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/get_question",
			answerQuestion: "" + t + n + "apigw." + r +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/answer_question",
			$commonApiQueryMessages: "" + t + n + "apigw." + r +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/query_message_list",
			$commonApiQueryGroupList: "" + t + n + "apigw." + r +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/query_group_list",
			$commonApiQueryGroupInfo: "" + t + n + "apigw." + r +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/query_group_by_id",
			$openplatformLogin: "" + t + n + "apigw." + r +
				"foryor-in.com/api/open-platform-auth-login/1.0.0/open-login-without-cookie",
			$imageUpload: "" + t + n + "apigw." + r +
				"foryor-in.com/api/drugstore_open_inquiry_client_api/1.0/upload_file",
			wssurl: "" + e.wss + n + "apigw." + r +
				"foryor-in.com/api/open-platform-auth-login/1.0.0/auth-message?partnerToken=" + As.getState().global
				.token
		}
	};
Jr.extend(sn), Jr.extend(on);
var hn = {
	thresholds: [{
		l: "s",
		r: 1
	}, {
		l: "m",
		r: 1
	}, {
		l: "mm",
		r: 60,
		d: "minute"
	}, {
		l: "h",
		r: 1
	}, {
		l: "hh",
		r: 24,
		d: "hour"
	}, {
		l: "d",
		r: 1
	}, {
		l: "dd",
		r: 30,
		d: "day"
	}, {
		l: "M",
		r: 1
	}, {
		l: "MM",
		r: 12,
		d: "month"
	}, {
		l: "y"
	}, {
		l: "yy",
		d: "year"
	}],
	rounding: Math.floor
};
Jr.extend(an, hn), Jr.extend(nn), Jr.updateLocale("en", {
	relativeTime: {
		future: "%s",
		past: "%s前",
		s: "1秒",
		m: "1分钟",
		mm: "%d分钟",
		h: "1小时",
		hh: "%d小时",
		d: "1天",
		dd: "%d天",
		M: "1月",
		MM: "%d月",
		y: "1年",
		yy: "%d年"
	}
});
var gn = function(t, r, n) {
		console.log('gn = function(t, r, n)', t);
		console.log('gn = function(t, r, n)', r);
		console.log('gn = function(t, r, n)', n);
		var o, i = vn(r),
			a = i.wss,
			s = i.http,
			u = mn(t),
			c = t === f.ONLINE ? s + "frontlo-collection." + u + "foryor-in.com/f2e/log.gif" : s +
			"frontlo-collection.qa.foryor-in.com/f2e/log.gif",
			l = n.name,
			d = (o = {
				name: l,
				http: s,
				env: u,
				zone: n.zone,
				wss: a,
				_self: n
			}).name === h.operate ? ln(o) : o.name === h.drugSaas || o.name === h.drugDoctor || o.name === h
			.drugPlatform ? cn(o) : o.name === h.openPlatform ? pn(o) : o.name === h.b2b ? un(o) : o.name === h
			.operate_phm ? dn(o) : o.name === h.drugSaasTr ? fn(o) : void 0,
			p = {
				wssurl: "" + a + n.zone + "apigw." + u + "foryor-in.com/api/share-im-center/1.0/im_ws",
				http: "" + s,
				$telescope: c
			};
		return Object.assign(p, e({}, d))
	},
	mn = function(e) {
		var t = "";
		return e === f.QA && (t = "qa."), e === f.PRE && (t = "pre."), e === f.ONLINE && (t = ""), t
	},
	vn = function(e) {
		return void 0 === e && (e = !1), e ? {
			wss: l.WS,
			http: l.HTTP
		} : {
			wss: l.WSS,
			http: l.HTTPS
		}
	};

function yn(e) {
	var t = e.body,
		r = e.createTime,
		n = e.messageType,
		o = e.sender,
		i = e.group;
	if (e.feature) {
		var a = JSON.parse(e.feature);
		a.fromAvatar && (o.userAvatar = a.fromAvatar), a.fromNickName && (o.userName = a.fromNickName), a
			.sourceDoctorUid && (o.userId = a.sourceDoctorUid)
	}
	var s = {
		feature: e.feature,
		clientMsgId: e.clientMsgId,
		createDate: r,
		serverMsgId: e.serverMsgId,
		sentStatus: p.SendSuccess,
		owner: o,
		group: {
			groupId: i.groupId,
			bizId: i.bizId,
			groupName: i.groupName,
			avatar: i.groupAvatar,
			doctorId: i.doctorId,
			patientId: i.patientId,
			title: i.groupTitle,
			type: parseInt(i.groupType),
			toId: i.toId,
			lastMessage: i.lastMessage,
			unReadCount: i.unReadCount
		},
		messageInfo: {
			body: JSON.parse(t),
			type: n
		}
	};
	if ("Image" == n) {
		var u = s.messageInfo.body.fileUrl,
			c = s.messageInfo.body.thumbnail;
		/^https?:\/\//i.test(u) || (s.messageInfo.body.fileUrl = "http://static.qa.foryor-in.com" + u, s.messageInfo
			.body
			.thumbnail = "http://static.qa.foryor-in.com" + c)
	}
	return s
}
var bn = function(e) {
		return t(void 0, void 0, void 0, (function() {
			return r(this, (function(t) {
				return [2, rn.get(e + "?_t=" + Date.now(), {
					withCredentials: !1
				})]
			}))
		}))
	},
	_n = function(n) {
		return t(void 0, void 0, void 0, (function() {
			var t, o, i, a, s;
			return r(this, (function(r) {
				return t = As.getState().global, o = t.api, i = t.uid, a = o
					.$commonApiQueryMessages, s = e({
						receiverUId: i
					}, n), [2, new Promise((function(e, t) {
						rn.post(a, s).then((function(t) {
							var r;
							if (!0 === (null === (r = null == t ?
										void 0 : t.data) || void 0 ===
									r ? void 0 : r.ok)) {
								var n = (t.data.result.data || []).map((
									function(e) {
										return yn(e)
									})).sort((function(e, t) {
									return e.createDate - t
										.createDate || e
										.serverMsgId - t
										.serverMsgId
								}));
								t.data.result.data = n
							}
							e(t)
						})).catch((function(e) {
							t(e)
						}))
					}))]
			}))
		}))
	},
	wn = function(n) {
		return t(void 0, void 0, void 0, (function() {
			var t, o, i, a;
			return r(this, (function(r) {
				return t = As.getState().global, o = t.api, i = o.$commonApiQueryGroupList, a =
					e({}, n), [2, rn.post(i, a)]
			}))
		}))
	},
	Sn = function(n) {
		return t(void 0, void 0, void 0, (function() {
			var t, o, i, a;
			return r(this, (function(r) {
				return t = As.getState().global, o = t.api, i = o
					.$commonApiModeIsQueryAndGetGroupList, a = e({}, n), [2, rn.post(i, a)]
			}))
		}))
	},
	In = function(n) {
		return t(void 0, void 0, void 0, (function() {
			var t, o, i;
			return r(this, (function(r) {
				return t = As.getState().global, o = t.api, i = o.$getVideoPrescriptionInfo, [2,
					rn.get(i, {
						params: e({}, n)
					})
				]
			}))
		}))
	},
	Tn = function(e, n) {
		return t(void 0, void 0, void 0, (function() {
			return r(this, (function(t) {
				return [2, new Promise((function(t, r) {
					rn.post(e, n).then((function(e) {
						t(e)
					})).catch((function(e) {
						r(e)
					}))
				}))]
			}))
		}))
	},
	Mn = function(e) {
		return {
			type: ve,
			value: e
		}
	},
	kn = function(e) {
		return {
			type: ye,
			value: e
		}
	},
	xn = function(e) {
		return {
			type: _e,
			value: e
		}
	},
	En = function(e) {
		return {
			type: Se,
			value: e
		}
	};
var On = function(e, t) {
	for (var r = -1, n = null == e ? 0 : e.length, o = 0, i = []; ++r < n;) {
		var a = e[r];
		t(a, r, e) && (i[o++] = a)
	}
	return i
};
var jn = function(e) {
	return function(t, r, n) {
		for (var o = -1, i = Object(t), a = n(t), s = a.length; s--;) {
			var u = a[e ? s : ++o];
			if (!1 === r(i[u], u, i)) break
		}
		return t
	}
}();
var An = function(e, t) {
		for (var r = -1, n = Array(e); ++r < e;) n[r] = t(r);
		return n
	},
	Cn = "object" == typeof o && o && o.Object === Object && o,
	Ln = "object" == typeof self && self && self.Object === Object && self,
	Dn = Cn || Ln || Function("return this")(),
	Nn = Dn.Symbol,
	Rn = Object.prototype,
	qn = Rn.hasOwnProperty,
	Pn = Rn.toString,
	$n = Nn ? Nn.toStringTag : void 0;
var zn = function(e) {
		var t = qn.call(e, $n),
			r = e[$n];
		try {
			e[$n] = void 0;
			var n = !0
		} catch (e) {}
		var o = Pn.call(e);
		return n && (t ? e[$n] = r : delete e[$n]), o
	},
	Qn = Object.prototype.toString;
var Un = function(e) {
		return Qn.call(e)
	},
	Fn = Nn ? Nn.toStringTag : void 0;
var Bn = function(e) {
	return null == e ? void 0 === e ? "[object Undefined]" : "[object Null]" : Fn && Fn in Object(e) ? zn(e) : Un(e)
};
var Gn = function(e) {
	return null != e && "object" == typeof e
};
var Hn = function(e) {
		return Gn(e) && "[object Arguments]" == Bn(e)
	},
	Wn = Object.prototype,
	Yn = Wn.hasOwnProperty,
	Jn = Wn.propertyIsEnumerable,
	Kn = Hn(function() {
		return arguments
	}()) ? Hn : function(e) {
		return Gn(e) && Yn.call(e, "callee") && !Jn.call(e, "callee")
	},
	Vn = Array.isArray;
var Xn = function() {
		return !1
	},
	Zn = a((function(e, t) {
		var r = t && !t.nodeType && t,
			n = r && e && !e.nodeType && e,
			o = n && n.exports === r ? Dn.Buffer : void 0,
			i = (o ? o.isBuffer : void 0) || Xn;
		e.exports = i
	})),
	eo = /^(?:0|[1-9]\d*)$/;
var to = function(e, t) {
	var r = typeof e;
	return !!(t = null == t ? 9007199254740991 : t) && ("number" == r || "symbol" != r && eo.test(e)) && e > -1 &&
		e % 1 == 0 && e < t
};
var ro = function(e) {
		return "number" == typeof e && e > -1 && e % 1 == 0 && e <= 9007199254740991
	},
	no = {};
no["[object Float32Array]"] = no["[object Float64Array]"] = no["[object Int8Array]"] = no["[object Int16Array]"] = no[
		"[object Int32Array]"] = no["[object Uint8Array]"] = no["[object Uint8ClampedArray]"] = no[
		"[object Uint16Array]"] = no["[object Uint32Array]"] = !0, no["[object Arguments]"] = no["[object Array]"] = no[
		"[object ArrayBuffer]"] = no["[object Boolean]"] = no["[object DataView]"] = no["[object Date]"] = no[
		"[object Error]"] = no["[object Function]"] = no["[object Map]"] = no["[object Number]"] = no[
		"[object Object]"] = no["[object RegExp]"] = no["[object Set]"] = no["[object String]"] = no[
	"[object WeakMap]"] = !
	1;
var oo = function(e) {
	return Gn(e) && ro(e.length) && !!no[Bn(e)]
};
var io = function(e) {
		return function(t) {
			return e(t)
		}
	},
	ao = a((function(e, t) {
		var r = t && !t.nodeType && t,
			n = r && e && !e.nodeType && e,
			o = n && n.exports === r && Cn.process,
			i = function() {
				try {
					var e = n && n.require && n.require("util").types;
					return e || o && o.binding && o.binding("util")
				} catch (e) {}
			}();
		e.exports = i
	})),
	so = ao && ao.isTypedArray,
	uo = so ? io(so) : oo,
	co = Object.prototype.hasOwnProperty;
var fo = function(e, t) {
		var r = Vn(e),
			n = !r && Kn(e),
			o = !r && !n && Zn(e),
			i = !r && !n && !o && uo(e),
			a = r || n || o || i,
			s = a ? An(e.length, String) : [],
			u = s.length;
		for (var c in e) !t && !co.call(e, c) || a && ("length" == c || o && ("offset" == c || "parent" == c) || i && (
			"buffer" == c || "byteLength" == c || "byteOffset" == c) || to(c, u)) || s.push(c);
		return s
	},
	lo = Object.prototype;
var po = function(e) {
	var t = e && e.constructor;
	return e === ("function" == typeof t && t.prototype || lo)
};
var ho = function(e, t) {
		return function(r) {
			return e(t(r))
		}
	},
	go = ho(Object.keys, Object),
	mo = Object.prototype.hasOwnProperty;
var vo = function(e) {
	if (!po(e)) return go(e);
	var t = [];
	for (var r in Object(e)) mo.call(e, r) && "constructor" != r && t.push(r);
	return t
};
var yo = function(e) {
	var t = typeof e;
	return null != e && ("object" == t || "function" == t)
};
var bo = function(e) {
	if (!yo(e)) return !1;
	var t = Bn(e);
	return "[object Function]" == t || "[object GeneratorFunction]" == t || "[object AsyncFunction]" == t ||
		"[object Proxy]" == t
};
var _o = function(e) {
	return null != e && ro(e.length) && !bo(e)
};
var wo = function(e) {
	return _o(e) ? fo(e) : vo(e)
};
var So = function(e, t) {
	return function(r, n) {
		if (null == r) return r;
		if (!_o(r)) return e(r, n);
		for (var o = r.length, i = t ? o : -1, a = Object(r);
			(t ? i-- : ++i < o) && !1 !== n(a[i], i, a););
		return r
	}
}((function(e, t) {
	return e && jn(e, t, wo)
}));
var Io = function(e, t) {
	var r = [];
	return So(e, (function(e, n, o) {
		t(e, n, o) && r.push(e)
	})), r
};
var To = function() {
	this.__data__ = [], this.size = 0
};
var Mo = function(e, t) {
	return e === t || e != e && t != t
};
var ko = function(e, t) {
		for (var r = e.length; r--;)
			if (Mo(e[r][0], t)) return r;
		return -1
	},
	xo = Array.prototype.splice;
var Eo = function(e) {
	var t = this.__data__,
		r = ko(t, e);
	return !(r < 0) && (r == t.length - 1 ? t.pop() : xo.call(t, r, 1), --this.size, !0)
};
var Oo = function(e) {
	var t = this.__data__,
		r = ko(t, e);
	return r < 0 ? void 0 : t[r][1]
};
var jo = function(e) {
	return ko(this.__data__, e) > -1
};
var Ao = function(e, t) {
	var r = this.__data__,
		n = ko(r, e);
	return n < 0 ? (++this.size, r.push([e, t])) : r[n][1] = t, this
};

function Co(e) {
	var t = -1,
		r = null == e ? 0 : e.length;
	for (this.clear(); ++t < r;) {
		var n = e[t];
		this.set(n[0], n[1])
	}
}
Co.prototype.clear = To, Co.prototype.delete = Eo, Co.prototype.get = Oo, Co.prototype.has = jo, Co.prototype.set = Ao;
var Lo = Co;
var Do = function() {
	this.__data__ = new Lo, this.size = 0
};
var No = function(e) {
	var t = this.__data__,
		r = t.delete(e);
	return this.size = t.size, r
};
var Ro = function(e) {
	return this.__data__.get(e)
};
var qo, Po = function(e) {
		return this.__data__.has(e)
	},
	$o = Dn["__core-js_shared__"],
	zo = (qo = /[^.]+$/.exec($o && $o.keys && $o.keys.IE_PROTO || "")) ? "Symbol(src)_1." + qo : "";
var Qo = function(e) {
		return !!zo && zo in e
	},
	Uo = Function.prototype.toString;
var Fo = function(e) {
		if (null != e) {
			try {
				return Uo.call(e)
			} catch (e) {}
			try {
				return e + ""
			} catch (e) {}
		}
		return ""
	},
	Bo = /^\[object .+?Constructor\]$/,
	Go = Function.prototype,
	Ho = Object.prototype,
	Wo = Go.toString,
	Yo = Ho.hasOwnProperty,
	Jo = RegExp("^" + Wo.call(Yo).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(
		/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
var Ko = function(e) {
	return !(!yo(e) || Qo(e)) && (bo(e) ? Jo : Bo).test(Fo(e))
};
var Vo = function(e, t) {
	return null == e ? void 0 : e[t]
};
var Xo = function(e, t) {
		var r = Vo(e, t);
		return Ko(r) ? r : void 0
	},
	Zo = Xo(Dn, "Map"),
	ei = Xo(Object, "create");
var ti = function() {
	this.__data__ = ei ? ei(null) : {}, this.size = 0
};
var ri = function(e) {
		var t = this.has(e) && delete this.__data__[e];
		return this.size -= t ? 1 : 0, t
	},
	ni = Object.prototype.hasOwnProperty;
var oi = function(e) {
		var t = this.__data__;
		if (ei) {
			var r = t[e];
			return "__lodash_hash_undefined__" === r ? void 0 : r
		}
		return ni.call(t, e) ? t[e] : void 0
	},
	ii = Object.prototype.hasOwnProperty;
var ai = function(e) {
	var t = this.__data__;
	return ei ? void 0 !== t[e] : ii.call(t, e)
};
var si = function(e, t) {
	var r = this.__data__;
	return this.size += this.has(e) ? 0 : 1, r[e] = ei && void 0 === t ? "__lodash_hash_undefined__" : t, this
};

function ui(e) {
	var t = -1,
		r = null == e ? 0 : e.length;
	for (this.clear(); ++t < r;) {
		var n = e[t];
		this.set(n[0], n[1])
	}
}
ui.prototype.clear = ti, ui.prototype.delete = ri, ui.prototype.get = oi, ui.prototype.has = ai, ui.prototype.set = si;
var ci = ui;
var fi = function() {
	this.size = 0, this.__data__ = {
		hash: new ci,
		map: new(Zo || Lo),
		string: new ci
	}
};
var li = function(e) {
	var t = typeof e;
	return "string" == t || "number" == t || "symbol" == t || "boolean" == t ? "__proto__" !== e : null === e
};
var di = function(e, t) {
	var r = e.__data__;
	return li(t) ? r["string" == typeof t ? "string" : "hash"] : r.map
};
var pi = function(e) {
	var t = di(this, e).delete(e);
	return this.size -= t ? 1 : 0, t
};
var hi = function(e) {
	return di(this, e).get(e)
};
var gi = function(e) {
	return di(this, e).has(e)
};
var mi = function(e, t) {
	var r = di(this, e),
		n = r.size;
	return r.set(e, t), this.size += r.size == n ? 0 : 1, this
};

function vi(e) {
	var t = -1,
		r = null == e ? 0 : e.length;
	for (this.clear(); ++t < r;) {
		var n = e[t];
		this.set(n[0], n[1])
	}
}
vi.prototype.clear = fi, vi.prototype.delete = pi, vi.prototype.get = hi, vi.prototype.has = gi, vi.prototype.set = mi;
var yi = vi;
var bi = function(e, t) {
	var r = this.__data__;
	if (r instanceof Lo) {
		var n = r.__data__;
		if (!Zo || n.length < 199) return n.push([e, t]), this.size = ++r.size, this;
		r = this.__data__ = new yi(n)
	}
	return r.set(e, t), this.size = r.size, this
};

function _i(e) {
	var t = this.__data__ = new Lo(e);
	this.size = t.size
}
_i.prototype.clear = Do, _i.prototype.delete = No, _i.prototype.get = Ro, _i.prototype.has = Po, _i.prototype.set = bi;
var wi = _i;
var Si = function(e) {
	return this.__data__.set(e, "__lodash_hash_undefined__"), this
};
var Ii = function(e) {
	return this.__data__.has(e)
};

function Ti(e) {
	var t = -1,
		r = null == e ? 0 : e.length;
	for (this.__data__ = new yi; ++t < r;) this.add(e[t])
}
Ti.prototype.add = Ti.prototype.push = Si, Ti.prototype.has = Ii;
var Mi = Ti;
var ki = function(e, t) {
	for (var r = -1, n = null == e ? 0 : e.length; ++r < n;)
		if (t(e[r], r, e)) return !0;
	return !1
};
var xi = function(e, t) {
	return e.has(t)
};
var Ei = function(e, t, r, n, o, i) {
		var a = 1 & r,
			s = e.length,
			u = t.length;
		if (s != u && !(a && u > s)) return !1;
		var c = i.get(e),
			f = i.get(t);
		if (c && f) return c == t && f == e;
		var l = -1,
			d = !0,
			p = 2 & r ? new Mi : void 0;
		for (i.set(e, t), i.set(t, e); ++l < s;) {
			var h = e[l],
				g = t[l];
			if (n) var m = a ? n(g, h, l, t, e, i) : n(h, g, l, e, t, i);
			if (void 0 !== m) {
				if (m) continue;
				d = !1;
				break
			}
			if (p) {
				if (!ki(t, (function(e, t) {
						if (!xi(p, t) && (h === e || o(h, e, r, n, i))) return p.push(t)
					}))) {
					d = !1;
					break
				}
			} else if (h !== g && !o(h, g, r, n, i)) {
				d = !1;
				break
			}
		}
		return i.delete(e), i.delete(t), d
	},
	Oi = Dn.Uint8Array;
var ji = function(e) {
	var t = -1,
		r = Array(e.size);
	return e.forEach((function(e, n) {
		r[++t] = [n, e]
	})), r
};
var Ai = function(e) {
		var t = -1,
			r = Array(e.size);
		return e.forEach((function(e) {
			r[++t] = e
		})), r
	},
	Ci = Nn ? Nn.prototype : void 0,
	Li = Ci ? Ci.valueOf : void 0;
var Di = function(e, t, r, n, o, i, a) {
	switch (r) {
		case "[object DataView]":
			if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset) return !1;
			e = e.buffer, t = t.buffer;
		case "[object ArrayBuffer]":
			return !(e.byteLength != t.byteLength || !i(new Oi(e), new Oi(t)));
		case "[object Boolean]":
		case "[object Date]":
		case "[object Number]":
			return Mo(+e, +t);
		case "[object Error]":
			return e.name == t.name && e.message == t.message;
		case "[object RegExp]":
		case "[object String]":
			return e == t + "";
		case "[object Map]":
			var s = ji;
		case "[object Set]":
			var u = 1 & n;
			if (s || (s = Ai), e.size != t.size && !u) return !1;
			var c = a.get(e);
			if (c) return c == t;
			n |= 2, a.set(e, t);
			var f = Ei(s(e), s(t), n, o, i, a);
			return a.delete(e), f;
		case "[object Symbol]":
			if (Li) return Li.call(e) == Li.call(t)
	}
	return !1
};
var Ni = function(e, t) {
	for (var r = -1, n = t.length, o = e.length; ++r < n;) e[o + r] = t[r];
	return e
};
var Ri = function(e, t, r) {
	var n = t(e);
	return Vn(e) ? n : Ni(n, r(e))
};
var qi = function() {
		return []
	},
	Pi = Object.prototype.propertyIsEnumerable,
	$i = Object.getOwnPropertySymbols,
	zi = $i ? function(e) {
		return null == e ? [] : (e = Object(e), On($i(e), (function(t) {
			return Pi.call(e, t)
		})))
	} : qi,
	Qi = zi;
var Ui = function(e) {
		return Ri(e, wo, Qi)
	},
	Fi = Object.prototype.hasOwnProperty;
var Bi = function(e, t, r, n, o, i) {
		var a = 1 & r,
			s = Ui(e),
			u = s.length;
		if (u != Ui(t).length && !a) return !1;
		for (var c = u; c--;) {
			var f = s[c];
			if (!(a ? f in t : Fi.call(t, f))) return !1
		}
		var l = i.get(e),
			d = i.get(t);
		if (l && d) return l == t && d == e;
		var p = !0;
		i.set(e, t), i.set(t, e);
		for (var h = a; ++c < u;) {
			var g = e[f = s[c]],
				m = t[f];
			if (n) var v = a ? n(m, g, f, t, e, i) : n(g, m, f, e, t, i);
			if (!(void 0 === v ? g === m || o(g, m, r, n, i) : v)) {
				p = !1;
				break
			}
			h || (h = "constructor" == f)
		}
		if (p && !h) {
			var y = e.constructor,
				b = t.constructor;
			y == b || !("constructor" in e) || !("constructor" in t) || "function" == typeof y && y instanceof y &&
				"function" == typeof b && b instanceof b || (p = !1)
		}
		return i.delete(e), i.delete(t), p
	},
	Gi = Xo(Dn, "DataView"),
	Hi = Xo(Dn, "Promise"),
	Wi = Xo(Dn, "Set"),
	Yi = Xo(Dn, "WeakMap"),
	Ji = "[object Map]",
	Ki = "[object Promise]",
	Vi = "[object Set]",
	Xi = "[object WeakMap]",
	Zi = "[object DataView]",
	ea = Fo(Gi),
	ta = Fo(Zo),
	ra = Fo(Hi),
	na = Fo(Wi),
	oa = Fo(Yi),
	ia = Bn;
(Gi && ia(new Gi(new ArrayBuffer(1))) != Zi || Zo && ia(new Zo) != Ji || Hi && ia(Hi.resolve()) != Ki || Wi && ia(
	new Wi) != Vi || Yi && ia(new Yi) != Xi) && (ia = function(e) {
	var t = Bn(e),
		r = "[object Object]" == t ? e.constructor : void 0,
		n = r ? Fo(r) : "";
	if (n) switch (n) {
		case ea:
			return Zi;
		case ta:
			return Ji;
		case ra:
			return Ki;
		case na:
			return Vi;
		case oa:
			return Xi
	}
	return t
});
var aa = ia,
	sa = "[object Arguments]",
	ua = "[object Array]",
	ca = "[object Object]",
	fa = Object.prototype.hasOwnProperty;
var la = function(e, t, r, n, o, i) {
	var a = Vn(e),
		s = Vn(t),
		u = a ? ua : aa(e),
		c = s ? ua : aa(t),
		f = (u = u == sa ? ca : u) == ca,
		l = (c = c == sa ? ca : c) == ca,
		d = u == c;
	if (d && Zn(e)) {
		if (!Zn(t)) return !1;
		a = !0, f = !1
	}
	if (d && !f) return i || (i = new wi), a || uo(e) ? Ei(e, t, r, n, o, i) : Di(e, t, u, r, n, o, i);
	if (!(1 & r)) {
		var p = f && fa.call(e, "__wrapped__"),
			h = l && fa.call(t, "__wrapped__");
		if (p || h) {
			var g = p ? e.value() : e,
				m = h ? t.value() : t;
			return i || (i = new wi), o(g, m, r, n, i)
		}
	}
	return !!d && (i || (i = new wi), Bi(e, t, r, n, o, i))
};
var da = function e(t, r, n, o, i) {
	return t === r || (null == t || null == r || !Gn(t) && !Gn(r) ? t != t && r != r : la(t, r, n, o, e, i))
};
var pa = function(e, t, r, n) {
	var o = r.length,
		i = o,
		a = !n;
	if (null == e) return !i;
	for (e = Object(e); o--;) {
		var s = r[o];
		if (a && s[2] ? s[1] !== e[s[0]] : !(s[0] in e)) return !1
	}
	for (; ++o < i;) {
		var u = (s = r[o])[0],
			c = e[u],
			f = s[1];
		if (a && s[2]) {
			if (void 0 === c && !(u in e)) return !1
		} else {
			var l = new wi;
			if (n) var d = n(c, f, u, e, t, l);
			if (!(void 0 === d ? da(f, c, 3, n, l) : d)) return !1
		}
	}
	return !0
};
var ha = function(e) {
	return e == e && !yo(e)
};
var ga = function(e) {
	for (var t = wo(e), r = t.length; r--;) {
		var n = t[r],
			o = e[n];
		t[r] = [n, o, ha(o)]
	}
	return t
};
var ma = function(e, t) {
	return function(r) {
		return null != r && (r[e] === t && (void 0 !== t || e in Object(r)))
	}
};
var va = function(e) {
	var t = ga(e);
	return 1 == t.length && t[0][2] ? ma(t[0][0], t[0][1]) : function(r) {
		return r === e || pa(r, e, t)
	}
};
var ya = function(e) {
		return "symbol" == typeof e || Gn(e) && "[object Symbol]" == Bn(e)
	},
	ba = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
	_a = /^\w*$/;
var wa = function(e, t) {
	if (Vn(e)) return !1;
	var r = typeof e;
	return !("number" != r && "symbol" != r && "boolean" != r && null != e && !ya(e)) || (_a.test(e) || !ba.test(
		e) || null != t && e in Object(t))
};

function Sa(e, t) {
	if ("function" != typeof e || null != t && "function" != typeof t) throw new TypeError("Expected a function");
	var r = function() {
		var n = arguments,
			o = t ? t.apply(this, n) : n[0],
			i = r.cache;
		if (i.has(o)) return i.get(o);
		var a = e.apply(this, n);
		return r.cache = i.set(o, a) || i, a
	};
	return r.cache = new(Sa.Cache || yi), r
}
Sa.Cache = yi;
var Ia = Sa;
var Ta = function(e) {
		var t = Ia(e, (function(e) {
				return 500 === r.size && r.clear(), e
			})),
			r = t.cache;
		return t
	},
	Ma = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,
	ka = /\\(\\)?/g,
	xa = Ta((function(e) {
		var t = [];
		return 46 === e.charCodeAt(0) && t.push(""), e.replace(Ma, (function(e, r, n, o) {
			t.push(n ? o.replace(ka, "$1") : r || e)
		})), t
	})),
	Ea = xa;
var Oa = function(e, t) {
		for (var r = -1, n = null == e ? 0 : e.length, o = Array(n); ++r < n;) o[r] = t(e[r], r, e);
		return o
	},
	ja = Nn ? Nn.prototype : void 0,
	Aa = ja ? ja.toString : void 0;
var Ca = function e(t) {
	if ("string" == typeof t) return t;
	if (Vn(t)) return Oa(t, e) + "";
	if (ya(t)) return Aa ? Aa.call(t) : "";
	var r = t + "";
	return "0" == r && 1 / t == -1 / 0 ? "-0" : r
};
var La = function(e) {
	return null == e ? "" : Ca(e)
};
var Da = function(e, t) {
	return Vn(e) ? e : wa(e, t) ? [e] : Ea(La(e))
};
var Na = function(e) {
	if ("string" == typeof e || ya(e)) return e;
	var t = e + "";
	return "0" == t && 1 / e == -1 / 0 ? "-0" : t
};
var Ra = function(e, t) {
	for (var r = 0, n = (t = Da(t, e)).length; null != e && r < n;) e = e[Na(t[r++])];
	return r && r == n ? e : void 0
};
var qa = function(e, t, r) {
	var n = null == e ? void 0 : Ra(e, t);
	return void 0 === n ? r : n
};
var Pa = function(e, t) {
	return null != e && t in Object(e)
};
var $a = function(e, t, r) {
	for (var n = -1, o = (t = Da(t, e)).length, i = !1; ++n < o;) {
		var a = Na(t[n]);
		if (!(i = null != e && r(e, a))) break;
		e = e[a]
	}
	return i || ++n != o ? i : !!(o = null == e ? 0 : e.length) && ro(o) && to(a, o) && (Vn(e) || Kn(e))
};
var za = function(e, t) {
	return null != e && $a(e, t, Pa)
};
var Qa = function(e, t) {
	return wa(e) && ha(t) ? ma(Na(e), t) : function(r) {
		var n = qa(r, e);
		return void 0 === n && n === t ? za(r, e) : da(t, n, 3)
	}
};
var Ua = function(e) {
	return e
};
var Fa = function(e) {
	return function(t) {
		return null == t ? void 0 : t[e]
	}
};
var Ba = function(e) {
	return function(t) {
		return Ra(t, e)
	}
};
var Ga = function(e) {
	return wa(e) ? Fa(Na(e)) : Ba(e)
};
var Ha = function(e) {
	return "function" == typeof e ? e : null == e ? Ua : "object" == typeof e ? Vn(e) ? Qa(e[0], e[1]) : va(e) : Ga(
		e)
};
var Wa = function(e, t) {
		return (Vn(e) ? On : Io)(e, Ha(t))
	},
	Ya = function(e) {
		return {
			type: ke,
			data: e
		}
	},
	Ja = function(e) {
		return {
			type: xe,
			data: e
		}
	},
	Ka = function(e) {
		return {
			type: Ae,
			data: e
		}
	},
	Va = function(e) {
		return {
			type: Ce,
			data: e
		}
	},
	Xa = function() {
		return {
			type: je
		}
	},
	Za = function(e) {
		return {
			type: Ne,
			data: e
		}
	},
	es = function(e) {
		return {
			type: Re,
			data: e
		}
	},
	ts = function() {
		return {
			type: qe
		}
	},
	rs = function(e) {
		var t = As.getState().global.uid,
			r = e.group.groupId,
			o = As.getState().data.groupMessageList;
		if (Wa(o, (function(e) {
				return e.groupId == r
			})).length > 0) {
			var i = -1,
				a = (o = o.map((function(n, o) {
					return n.groupId == r && (i = o, n.unReadCount = n.unReadCount + 1, r != As.getState()
						.data.groupId && e.owner.userId != t || (n.unReadCount = 0), n.lastMessage = {
							body: {
								text: e.messageInfo.body.text
							},
							clientMsgId: e.clientMsgId,
							createTime: e.createDate,
							feature: e.feature,
							messageType: e.messageInfo.type
						}), n
				}))).splice(i, 1);
			o.unshift.apply(o, a)
		} else o = n([{
			groupAvatar: e.group.avatar,
			groupId: e.group.groupId,
			groupName: e.group.groupName,
			groupTitle: e.group.title,
			groupType: e.group.type,
			lastMessage: {
				body: e.messageInfo.body,
				clientMsgId: e.clientMsgId,
				createTime: e.createDate,
				feature: e.feature,
				messageType: e.messageInfo.type
			},
			unReadCount: e.group.unReadCount
		}], o);
		return {
			type: Pe,
			data: {
				list: o,
				action: "update"
			}
		}
	},
	ns = "zim.",
	os = ns + "onconnect",
	is = ns + "onerror",
	as = ns + "onclose",
	ss = ns + "onmessage",
	us = ns + "onsendmessagefail",
	cs = ns + "onsendmessagesuccess",
	fs = ns + "reconnectoutmaxtimes",
	ls = ns + "LoginOut",
	ds = ns + "GetHistory",
	ps = ns + "GetGroupList",
	hs = ns + "USER_SPEAK_STATUS",
	gs = ns + "CUSTOM_BUSINESS",
	ms = ns + "ReadCompensate",
	vs = ns + "NotifyOtherClient",
	ys = ns + "RECEIVESENDMSG",
	bs = a((function(e, t) {
		/*!
		    localForage -- Offline Storage, Improved
		    Version 1.9.0
		    https://localforage.github.io/localForage
		    (c) 2013-2017 Mozilla, Apache License 2.0
		*/
		e.exports = function e(t, r, n) {
			function o(s, u) {
				if (!r[s]) {
					if (!t[s]) {
						if (!u && i) return i();
						if (a) return a(s, !0);
						var c = new Error("Cannot find module '" + s + "'");
						throw c.code = "MODULE_NOT_FOUND", c
					}
					var f = r[s] = {
						exports: {}
					};
					t[s][0].call(f.exports, (function(e) {
						var r = t[s][1][e];
						return o(r || e)
					}), f, f.exports, e, t, r, n)
				}
				return r[s].exports
			}
			for (var a = i, s = 0; s < n.length; s++) o(n[s]);
			return o
		}({
			1: [function(e, t, r) {
				(function(e) {
					var r, n, o = e.MutationObserver || e.WebKitMutationObserver;
					if (o) {
						var i = 0,
							a = new o(f),
							s = e.document.createTextNode("");
						a.observe(s, {
							characterData: !0
						}), r = function() {
							s.data = i = ++i % 2
						}
					} else if (e.setImmediate || void 0 === e.MessageChannel) r =
						"document" in e && "onreadystatechange" in e.document.createElement(
							"script") ? function() {
							var t = e.document.createElement("script");
							t.onreadystatechange = function() {
								f(), t.onreadystatechange = null, t.parentNode
									.removeChild(t), t = null
							}, e.document.documentElement.appendChild(t)
						} : function() {
							setTimeout(f, 0)
						};
					else {
						var u = new e.MessageChannel;
						u.port1.onmessage = f, r = function() {
							u.port2.postMessage(0)
						}
					}
					var c = [];

					function f() {
						var e, t;
						n = !0;
						for (var r = c.length; r;) {
							for (t = c, c = [], e = -1; ++e < r;) t[e]();
							r = c.length
						}
						n = !1
					}

					function l(e) {
						1 !== c.push(e) || n || r()
					}
					t.exports = l
				}).call(this, void 0 !== o ? o : "undefined" != typeof self ? self :
					"undefined" != typeof window ? window : {})
			}, {}],
			2: [function(e, t, r) {
				var n = e(1);

				function o() {}
				var i = {},
					a = ["REJECTED"],
					s = ["FULFILLED"],
					u = ["PENDING"];

				function c(e) {
					if ("function" != typeof e) throw new TypeError(
						"resolver must be a function");
					this.state = u, this.queue = [], this.outcome = void 0, e !== o && p(this,
						e)
				}

				function f(e, t, r) {
					this.promise = e, "function" == typeof t && (this.onFulfilled = t, this
							.callFulfilled = this.otherCallFulfilled), "function" == typeof r &&
						(this.onRejected = r, this.callRejected = this.otherCallRejected)
				}

				function l(e, t, r) {
					n((function() {
						var n;
						try {
							n = t(r)
						} catch (t) {
							return i.reject(e, t)
						}
						n === e ? i.reject(e, new TypeError(
							"Cannot resolve promise with itself")) : i.resolve(
							e, n)
					}))
				}

				function d(e) {
					var t = e && e.then;
					if (e && ("object" == typeof e || "function" == typeof e) && "function" ==
						typeof t) return function() {
						t.apply(e, arguments)
					}
				}

				function p(e, t) {
					var r = !1;

					function n(t) {
						r || (r = !0, i.reject(e, t))
					}

					function o(t) {
						r || (r = !0, i.resolve(e, t))
					}

					function a() {
						t(o, n)
					}
					var s = h(a);
					"error" === s.status && n(s.value)
				}

				function h(e, t) {
					var r = {};
					try {
						r.value = e(t), r.status = "success"
					} catch (e) {
						r.status = "error", r.value = e
					}
					return r
				}

				function g(e) {
					return e instanceof this ? e : i.resolve(new this(o), e)
				}

				function m(e) {
					var t = new this(o);
					return i.reject(t, e)
				}

				function v(e) {
					var t = this;
					if ("[object Array]" !== Object.prototype.toString.call(e)) return this
						.reject(new TypeError("must be an array"));
					var r = e.length,
						n = !1;
					if (!r) return this.resolve([]);
					for (var a = new Array(r), s = 0, u = -1, c = new this(o); ++u < r;) f(e[u],
						u);
					return c;

					function f(e, o) {
						function u(e) {
							a[o] = e, ++s !== r || n || (n = !0, i.resolve(c, a))
						}
						t.resolve(e).then(u, (function(e) {
							n || (n = !0, i.reject(c, e))
						}))
					}
				}

				function y(e) {
					var t = this;
					if ("[object Array]" !== Object.prototype.toString.call(e)) return this
						.reject(new TypeError("must be an array"));
					var r = e.length,
						n = !1;
					if (!r) return this.resolve([]);
					for (var a = -1, s = new this(o); ++a < r;) u(e[a]);
					return s;

					function u(e) {
						t.resolve(e).then((function(e) {
							n || (n = !0, i.resolve(s, e))
						}), (function(e) {
							n || (n = !0, i.reject(s, e))
						}))
					}
				}
				t.exports = c, c.prototype.catch = function(e) {
					return this.then(null, e)
				}, c.prototype.then = function(e, t) {
					if ("function" != typeof e && this.state === s || "function" !=
						typeof t && this.state === a) return this;
					var r = new this.constructor(o);
					return this.state !== u ? l(r, this.state === s ? e : t, this.outcome) :
						this.queue.push(new f(r, e, t)), r
				}, f.prototype.callFulfilled = function(e) {
					i.resolve(this.promise, e)
				}, f.prototype.otherCallFulfilled = function(e) {
					l(this.promise, this.onFulfilled, e)
				}, f.prototype.callRejected = function(e) {
					i.reject(this.promise, e)
				}, f.prototype.otherCallRejected = function(e) {
					l(this.promise, this.onRejected, e)
				}, i.resolve = function(e, t) {
					var r = h(d, t);
					if ("error" === r.status) return i.reject(e, r.value);
					var n = r.value;
					if (n) p(e, n);
					else {
						e.state = s, e.outcome = t;
						for (var o = -1, a = e.queue.length; ++o < a;) e.queue[o]
							.callFulfilled(t)
					}
					return e
				}, i.reject = function(e, t) {
					e.state = a, e.outcome = t;
					for (var r = -1, n = e.queue.length; ++r < n;) e.queue[r].callRejected(
						t);
					return e
				}, c.resolve = g, c.reject = m, c.all = v, c.race = y
			}, {
				1: 1
			}],
			3: [function(e, t, r) {
				(function(t) {
					"function" != typeof t.Promise && (t.Promise = e(2))
				}).call(this, void 0 !== o ? o : "undefined" != typeof self ? self :
					"undefined" != typeof window ? window : {})
			}, {
				2: 2
			}],
			4: [function(e, t, r) {
				var n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ?
					function(e) {
						return typeof e
					} : function(e) {
						return e && "function" == typeof Symbol && e.constructor === Symbol &&
							e !== Symbol.prototype ? "symbol" : typeof e
					};

				function o(e, t) {
					if (!(e instanceof t)) throw new TypeError(
						"Cannot call a class as a function")
				}

				function i() {
					try {
						if ("undefined" != typeof indexedDB) return indexedDB;
						if ("undefined" != typeof webkitIndexedDB) return webkitIndexedDB;
						if ("undefined" != typeof mozIndexedDB) return mozIndexedDB;
						if ("undefined" != typeof OIndexedDB) return OIndexedDB;
						if ("undefined" != typeof msIndexedDB) return msIndexedDB
					} catch (e) {
						return
					}
				}
				var a = i();

				function s() {
					try {
						if (!a || !a.open) return !1;
						var e = "undefined" != typeof openDatabase &&
							/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && !/Chrome/
							.test(navigator.userAgent) && !/BlackBerry/.test(navigator
								.platform),
							t = "function" == typeof fetch && -1 !== fetch.toString().indexOf(
								"[native code");
						return (!e || t) && "undefined" != typeof indexedDB && "undefined" !=
							typeof IDBKeyRange
					} catch (e) {
						return !1
					}
				}

				function u(e, t) {
					e = e || [], t = t || {};
					try {
						return new Blob(e, t)
					} catch (o) {
						if ("TypeError" !== o.name) throw o;
						for (var r = new("undefined" != typeof BlobBuilder ? BlobBuilder :
								"undefined" != typeof MSBlobBuilder ? MSBlobBuilder :
								"undefined" != typeof MozBlobBuilder ? MozBlobBuilder :
								WebKitBlobBuilder), n = 0; n < e.length; n += 1) r.append(e[n]);
						return r.getBlob(t.type)
					}
				}
				"undefined" == typeof Promise && e(3);
				var c = Promise;

				function f(e, t) {
					t && e.then((function(e) {
						t(null, e)
					}), (function(e) {
						t(e)
					}))
				}

				function l(e, t, r) {
					"function" == typeof t && e.then(t), "function" == typeof r && e.catch(r)
				}

				function d(e) {
					return "string" != typeof e && (console.warn(e +
						" used as a key, but it is not a string."), e = String(e)), e
				}

				function p() {
					if (arguments.length && "function" == typeof arguments[arguments.length -
							1]) return arguments[arguments.length - 1]
				}
				var h = "local-forage-detect-blob-support",
					g = void 0,
					m = {},
					v = Object.prototype.toString,
					y = "readonly",
					b = "readwrite";

				function _(e) {
					for (var t = e.length, r = new ArrayBuffer(t), n = new Uint8Array(r), o =
							0; o < t; o++) n[o] = e.charCodeAt(o);
					return r
				}

				function w(e) {
					return new c((function(t) {
						var r = e.transaction(h, b),
							n = u([""]);
						r.objectStore(h).put(n, "key"), r.onabort = function(e) {
							e.preventDefault(), e.stopPropagation(), t(!1)
						}, r.oncomplete = function() {
							var e = navigator.userAgent.match(/Chrome\/(\d+)/),
								r = navigator.userAgent.match(/Edge\//);
							t(r || !e || parseInt(e[1], 10) >= 43)
						}
					})).catch((function() {
						return !1
					}))
				}

				function S(e) {
					return "boolean" == typeof g ? c.resolve(g) : w(e).then((function(e) {
						return g = e
					}))
				}

				function I(e) {
					var t = m[e.name],
						r = {};
					r.promise = new c((function(e, t) {
							r.resolve = e, r.reject = t
						})), t.deferredOperations.push(r), t.dbReady ? t.dbReady = t.dbReady
						.then((function() {
							return r.promise
						})) : t.dbReady = r.promise
				}

				function T(e) {
					var t = m[e.name].deferredOperations.pop();
					if (t) return t.resolve(), t.promise
				}

				function M(e, t) {
					var r = m[e.name].deferredOperations.pop();
					if (r) return r.reject(t), r.promise
				}

				function k(e, t) {
					return new c((function(r, n) {
						if (m[e.name] = m[e.name] || R(), e.db) {
							if (!t) return r(e.db);
							I(e), e.db.close()
						}
						var o = [e.name];
						t && o.push(e.version);
						var i = a.open.apply(a, o);
						t && (i.onupgradeneeded = function(t) {
							var r = i.result;
							try {
								r.createObjectStore(e.storeName), t
									.oldVersion <= 1 && r.createObjectStore(
										h)
							} catch (r) {
								if ("ConstraintError" !== r.name) throw r;
								console.warn('The database "' + e.name +
									'" has been upgraded from version ' +
									t.oldVersion + " to version " + t
									.newVersion +
									', but the storage "' + e
									.storeName + '" already exists.')
							}
						}), i.onerror = function(e) {
							e.preventDefault(), n(i.error)
						}, i.onsuccess = function() {
							r(i.result), T(e)
						}
					}))
				}

				function x(e) {
					return k(e, !1)
				}

				function E(e) {
					return k(e, !0)
				}

				function O(e, t) {
					if (!e.db) return !0;
					var r = !e.db.objectStoreNames.contains(e.storeName),
						n = e.version < e.db.version,
						o = e.version > e.db.version;
					if (n && (e.version !== t && console.warn('The database "' + e.name +
							"\" can't be downgraded from version " + e.db.version +
							" to version " + e.version + "."), e.version = e.db.version), o ||
						r) {
						if (r) {
							var i = e.db.version + 1;
							i > e.version && (e.version = i)
						}
						return !0
					}
					return !1
				}

				function j(e) {
					return new c((function(t, r) {
						var n = new FileReader;
						n.onerror = r, n.onloadend = function(r) {
							var n = btoa(r.target.result || "");
							t({
								__local_forage_encoded_blob: !0,
								data: n,
								type: e.type
							})
						}, n.readAsBinaryString(e)
					}))
				}

				function A(e) {
					return u([_(atob(e.data))], {
						type: e.type
					})
				}

				function C(e) {
					return e && e.__local_forage_encoded_blob
				}

				function L(e) {
					var t = this,
						r = t._initReady().then((function() {
							var e = m[t._dbInfo.name];
							if (e && e.dbReady) return e.dbReady
						}));
					return l(r, e, e), r
				}

				function D(e) {
					I(e);
					for (var t = m[e.name], r = t.forages, n = 0; n < r.length; n++) {
						var o = r[n];
						o._dbInfo.db && (o._dbInfo.db.close(), o._dbInfo.db = null)
					}
					return e.db = null, x(e).then((function(t) {
						return e.db = t, O(e) ? E(e) : t
					})).then((function(n) {
						e.db = t.db = n;
						for (var o = 0; o < r.length; o++) r[o]._dbInfo.db = n
					})).catch((function(t) {
						throw M(e, t), t
					}))
				}

				function N(e, t, r, n) {
					void 0 === n && (n = 1);
					try {
						var o = e.db.transaction(e.storeName, t);
						r(null, o)
					} catch (o) {
						if (n > 0 && (!e.db || "InvalidStateError" === o.name ||
								"NotFoundError" === o.name)) return c.resolve().then((
							function() {
								if (!e.db || "NotFoundError" === o.name && !e.db
									.objectStoreNames.contains(e.storeName) && e
									.version <= e.db.version) return e.db && (e
									.version = e.db.version + 1), E(e)
							})).then((function() {
							return D(e).then((function() {
								N(e, t, r, n - 1)
							}))
						})).catch(r);
						r(o)
					}
				}

				function R() {
					return {
						forages: [],
						db: null,
						dbReady: null,
						deferredOperations: []
					}
				}

				function q(e) {
					var t = this,
						r = {
							db: null
						};
					if (e)
						for (var n in e) r[n] = e[n];
					var o = m[r.name];
					o || (o = R(), m[r.name] = o), o.forages.push(t), t._initReady || (t
						._initReady = t.ready, t.ready = L);
					var i = [];

					function a() {
						return c.resolve()
					}
					for (var s = 0; s < o.forages.length; s++) {
						var u = o.forages[s];
						u !== t && i.push(u._initReady().catch(a))
					}
					var f = o.forages.slice(0);
					return c.all(i).then((function() {
						return r.db = o.db, x(r)
					})).then((function(e) {
						return r.db = e, O(r, t._defaultConfig.version) ? E(r) : e
					})).then((function(e) {
						r.db = o.db = e, t._dbInfo = r;
						for (var n = 0; n < f.length; n++) {
							var i = f[n];
							i !== t && (i._dbInfo.db = r.db, i._dbInfo.version = r
								.version)
						}
					}))
				}

				function P(e, t) {
					var r = this;
					e = d(e);
					var n = new c((function(t, n) {
						r.ready().then((function() {
							N(r._dbInfo, y, (function(o, i) {
								if (o) return n(o);
								try {
									var a = i.objectStore(r
										._dbInfo
										.storeName).get(
										e);
									a.onsuccess =
										function() {
											var e = a
												.result;
											void 0 === e &&
												(e = null),
												C(e) && (e =
													A(e)),
												t(e)
										}, a.onerror =
										function() {
											n(a.error)
										}
								} catch (e) {
									n(e)
								}
							}))
						})).catch(n)
					}));
					return f(n, t), n
				}

				function $(e, t) {
					var r = this,
						n = new c((function(t, n) {
							r.ready().then((function() {
								N(r._dbInfo, y, (function(o, i) {
									if (o) return n(o);
									try {
										var a = i.objectStore(r
												._dbInfo
												.storeName)
											.openCursor(),
											s = 1;
										a.onsuccess =
											function() {
												var r = a
													.result;
												if (r) {
													var n = r
														.value;
													C(n) && (n =
														A(n)
													);
													var o = e(n,
														r
														.key,
														s++);
													void 0 !==
														o ? t(
															o) :
														r
														.continue()
												} else t()
											}, a.onerror =
											function() {
												n(a.error)
											}
									} catch (e) {
										n(e)
									}
								}))
							})).catch(n)
						}));
					return f(n, t), n
				}

				function z(e, t, r) {
					var n = this;
					e = d(e);
					var o = new c((function(r, o) {
						var i;
						n.ready().then((function() {
							return i = n._dbInfo, "[object Blob]" === v
								.call(t) ? S(i.db).then((function(e) {
									return e ? t : j(t)
								})) : t
						})).then((function(t) {
							N(n._dbInfo, b, (function(i, a) {
								if (i) return o(i);
								try {
									var s = a.objectStore(n
										._dbInfo
										.storeName);
									null === t && (t =
										void 0);
									var u = s.put(t, e);
									a.oncomplete =
										function() {
											void 0 === t &&
												(t = null),
												r(t)
										}, a.onabort = a
										.onerror =
										function() {
											var e = u
												.error ? u
												.error : u
												.transaction
												.error;
											o(e)
										}
								} catch (e) {
									o(e)
								}
							}))
						})).catch(o)
					}));
					return f(o, r), o
				}

				function Q(e, t) {
					var r = this;
					e = d(e);
					var n = new c((function(t, n) {
						r.ready().then((function() {
							N(r._dbInfo, b, (function(o, i) {
								if (o) return n(o);
								try {
									var a = i.objectStore(r
											._dbInfo
											.storeName)
										.delete(e);
									i.oncomplete =
										function() {
											t()
										}, i.onerror =
										function() {
											n(a.error)
										}, i.onabort =
										function() {
											var e = a
												.error ? a
												.error : a
												.transaction
												.error;
											n(e)
										}
								} catch (e) {
									n(e)
								}
							}))
						})).catch(n)
					}));
					return f(n, t), n
				}

				function U(e) {
					var t = this,
						r = new c((function(e, r) {
							t.ready().then((function() {
								N(t._dbInfo, b, (function(n, o) {
									if (n) return r(n);
									try {
										var i = o.objectStore(t
												._dbInfo
												.storeName)
											.clear();
										o.oncomplete =
											function() {
												e()
											}, o.onabort = o
											.onerror =
											function() {
												var e = i
													.error ? i
													.error : i
													.transaction
													.error;
												r(e)
											}
									} catch (e) {
										r(e)
									}
								}))
							})).catch(r)
						}));
					return f(r, e), r
				}

				function F(e) {
					var t = this,
						r = new c((function(e, r) {
							t.ready().then((function() {
								N(t._dbInfo, y, (function(n, o) {
									if (n) return r(n);
									try {
										var i = o.objectStore(t
												._dbInfo
												.storeName)
											.count();
										i.onsuccess =
											function() {
												e(i.result)
											}, i.onerror =
											function() {
												r(i.error)
											}
									} catch (e) {
										r(e)
									}
								}))
							})).catch(r)
						}));
					return f(r, e), r
				}

				function B(e, t) {
					var r = this,
						n = new c((function(t, n) {
							e < 0 ? t(null) : r.ready().then((function() {
								N(r._dbInfo, y, (function(o, i) {
									if (o) return n(o);
									try {
										var a = i.objectStore(r
												._dbInfo
												.storeName),
											s = !1,
											u = a
											.openKeyCursor();
										u.onsuccess =
											function() {
												var r = u
													.result;
												r ? 0 === e ||
													s ? t(r
														.key) :
													(
														s = !0,
														r
														.advance(
															e)
													) : t(
														null)
											}, u.onerror =
											function() {
												n(u.error)
											}
									} catch (e) {
										n(e)
									}
								}))
							})).catch(n)
						}));
					return f(n, t), n
				}

				function G(e) {
					var t = this,
						r = new c((function(e, r) {
							t.ready().then((function() {
								N(t._dbInfo, y, (function(n, o) {
									if (n) return r(n);
									try {
										var i = o.objectStore(t
												._dbInfo
												.storeName)
											.openKeyCursor(),
											a = [];
										i.onsuccess =
											function() {
												var t = i
													.result;
												t ? (a.push(t
														.key
													), t
													.continue()
												) : e(a)
											}, i.onerror =
											function() {
												r(i.error)
											}
									} catch (e) {
										r(e)
									}
								}))
							})).catch(r)
						}));
					return f(r, e), r
				}

				function H(e, t) {
					t = p.apply(this, arguments);
					var r = this.config();
					(e = "function" != typeof e && e || {}).name || (e.name = e.name || r.name,
						e.storeName = e.storeName || r.storeName);
					var n, o = this;
					if (e.name) {
						var i = e.name === r.name && o._dbInfo.db ? c.resolve(o._dbInfo.db) : x(
							e).then((function(t) {
							var r = m[e.name],
								n = r.forages;
							r.db = t;
							for (var o = 0; o < n.length; o++) n[o]._dbInfo.db = t;
							return t
						}));
						n = e.storeName ? i.then((function(t) {
							if (t.objectStoreNames.contains(e.storeName)) {
								var r = t.version + 1;
								I(e);
								var n = m[e.name],
									o = n.forages;
								t.close();
								for (var i = 0; i < o.length; i++) {
									var s = o[i];
									s._dbInfo.db = null, s._dbInfo.version = r
								}
								var u = new c((function(t, n) {
									var o = a.open(e.name, r);
									o.onerror = function(e) {
											o.result.close(), n(e)
										}, o.onupgradeneeded =
										function() {
											o.result.deleteObjectStore(e
												.storeName)
										}, o.onsuccess = function() {
											var e = o.result;
											e.close(), t(e)
										}
								}));
								return u.then((function(e) {
									n.db = e;
									for (var t = 0; t < o.length; t++) {
										var r = o[t];
										r._dbInfo.db = e, T(r._dbInfo)
									}
								})).catch((function(t) {
									throw (M(e, t) || c.resolve())
										.catch((function() {})), t
								}))
							}
						})) : i.then((function(t) {
							I(e);
							var r = m[e.name],
								n = r.forages;
							t.close();
							for (var o = 0; o < n.length; o++) n[o]._dbInfo.db =
								null;
							var i = new c((function(t, r) {
								var n = a.deleteDatabase(e.name);
								n.onerror = n.onblocked = function(e) {
									var t = n.result;
									t && t.close(), r(e)
								}, n.onsuccess = function() {
									var e = n.result;
									e && e.close(), t(e)
								}
							}));
							return i.then((function(e) {
								r.db = e;
								for (var t = 0; t < n.length; t++) T(n[
									t]._dbInfo)
							})).catch((function(t) {
								throw (M(e, t) || c.resolve()).catch((
									function() {})), t
							}))
						}))
					} else n = c.reject("Invalid arguments");
					return f(n, t), n
				}
				var W = {
					_driver: "asyncStorage",
					_initStorage: q,
					_support: s(),
					iterate: $,
					getItem: P,
					setItem: z,
					removeItem: Q,
					clear: U,
					length: F,
					key: B,
					keys: G,
					dropInstance: H
				};

				function Y() {
					return "function" == typeof openDatabase
				}
				var J = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
					K = "~~local_forage_type~",
					V = /^~~local_forage_type~([^~]+)~/,
					X = "__lfsc__:",
					Z = X.length,
					ee = "arbf",
					te = "blob",
					re = "si08",
					ne = "ui08",
					oe = "uic8",
					ie = "si16",
					ae = "si32",
					se = "ur16",
					ue = "ui32",
					ce = "fl32",
					fe = "fl64",
					le = Z + ee.length,
					de = Object.prototype.toString;

				function pe(e) {
					var t, r, n, o, i, a = .75 * e.length,
						s = e.length,
						u = 0;
					"=" === e[e.length - 1] && (a--, "=" === e[e.length - 2] && a--);
					var c = new ArrayBuffer(a),
						f = new Uint8Array(c);
					for (t = 0; t < s; t += 4) r = J.indexOf(e[t]), n = J.indexOf(e[t + 1]), o =
						J.indexOf(e[t + 2]), i = J.indexOf(e[t + 3]), f[u++] = r << 2 | n >> 4,
						f[u++] = (15 & n) << 4 | o >> 2, f[u++] = (3 & o) << 6 | 63 & i;
					return c
				}

				function he(e) {
					var t, r = new Uint8Array(e),
						n = "";
					for (t = 0; t < r.length; t += 3) n += J[r[t] >> 2], n += J[(3 & r[t]) <<
							4 | r[t + 1] >> 4], n += J[(15 & r[t + 1]) << 2 | r[t + 2] >> 6],
						n += J[63 & r[t + 2]];
					return r.length % 3 == 2 ? n = n.substring(0, n.length - 1) + "=" : r
						.length % 3 == 1 && (n = n.substring(0, n.length - 2) + "=="), n
				}

				function ge(e, t) {
					var r = "";
					if (e && (r = de.call(e)), e && ("[object ArrayBuffer]" === r || e.buffer &&
							"[object ArrayBuffer]" === de.call(e.buffer))) {
						var n, o = X;
						e instanceof ArrayBuffer ? (n = e, o += ee) : (n = e.buffer,
							"[object Int8Array]" === r ? o += re : "[object Uint8Array]" ===
							r ? o += ne : "[object Uint8ClampedArray]" === r ? o += oe :
							"[object Int16Array]" === r ? o += ie :
							"[object Uint16Array]" === r ? o += se :
							"[object Int32Array]" === r ? o += ae :
							"[object Uint32Array]" === r ? o += ue :
							"[object Float32Array]" === r ? o += ce :
							"[object Float64Array]" === r ? o += fe : t(new Error(
								"Failed to get type for BinaryArray"))), t(o + he(n))
					} else if ("[object Blob]" === r) {
						var i = new FileReader;
						i.onload = function() {
							var r = K + e.type + "~" + he(this.result);
							t(X + te + r)
						}, i.readAsArrayBuffer(e)
					} else try {
						t(JSON.stringify(e))
					} catch (r) {
						console.error("Couldn't convert value into a JSON string: ", e), t(
							null, r)
					}
				}

				function me(e) {
					if (e.substring(0, Z) !== X) return JSON.parse(e);
					var t, r = e.substring(le),
						n = e.substring(Z, le);
					if (n === te && V.test(r)) {
						var o = r.match(V);
						t = o[1], r = r.substring(o[0].length)
					}
					var i = pe(r);
					switch (n) {
						case ee:
							return i;
						case te:
							return u([i], {
								type: t
							});
						case re:
							return new Int8Array(i);
						case ne:
							return new Uint8Array(i);
						case oe:
							return new Uint8ClampedArray(i);
						case ie:
							return new Int16Array(i);
						case se:
							return new Uint16Array(i);
						case ae:
							return new Int32Array(i);
						case ue:
							return new Uint32Array(i);
						case ce:
							return new Float32Array(i);
						case fe:
							return new Float64Array(i);
						default:
							throw new Error("Unkown type: " + n)
					}
				}
				var ve = {
					serialize: ge,
					deserialize: me,
					stringToBuffer: pe,
					bufferToString: he
				};

				function ye(e, t, r, n) {
					e.executeSql("CREATE TABLE IF NOT EXISTS " + t.storeName +
						" (id INTEGER PRIMARY KEY, key unique, value)", [], r, n)
				}

				function be(e) {
					var t = this,
						r = {
							db: null
						};
					if (e)
						for (var n in e) r[n] = "string" != typeof e[n] ? e[n].toString() : e[
							n];
					var o = new c((function(e, n) {
						try {
							r.db = openDatabase(r.name, String(r.version), r
								.description, r.size)
						} catch (e) {
							return n(e)
						}
						r.db.transaction((function(o) {
							ye(o, r, (function() {
								t._dbInfo = r, e()
							}), (function(e, t) {
								n(t)
							}))
						}), n)
					}));
					return r.serializer = ve, o
				}

				function _e(e, t, r, n, o, i) {
					e.executeSql(r, n, o, (function(e, a) {
						a.code === a.SYNTAX_ERR ? e.executeSql(
							"SELECT name FROM sqlite_master WHERE type='table' AND name = ?",
							[t.storeName], (function(e, s) {
								s.rows.length ? i(e, a) : ye(e, t, (
									function() {
										e.executeSql(r, n, o, i)
									}), i)
							}), i) : i(e, a)
					}), i)
				}

				function we(e, t) {
					var r = this;
					e = d(e);
					var n = new c((function(t, n) {
						r.ready().then((function() {
							var o = r._dbInfo;
							o.db.transaction((function(r) {
								_e(r, o, "SELECT * FROM " +
									o.storeName +
									" WHERE key = ? LIMIT 1",
									[e], (function(e,
										r) {
										var n = r
											.rows
											.length ?
											r.rows
											.item(0)
											.value :
											null;
										n && (n = o
												.serializer
												.deserialize(
													n
												)
											),
											t(n)
									}), (function(e,
										t) {
										n(t)
									}))
							}))
						})).catch(n)
					}));
					return f(n, t), n
				}

				function Se(e, t) {
					var r = this,
						n = new c((function(t, n) {
							r.ready().then((function() {
								var o = r._dbInfo;
								o.db.transaction((function(r) {
									_e(r, o, "SELECT * FROM " +
										o.storeName, [], (
											function(r, n) {
												for (var i =
														n
														.rows,
														a =
														i
														.length,
														s =
														0; s <
													a; s++
												) {
													var u =
														i
														.item(
															s
														),
														c =
														u
														.value;
													if (c &&
														(c = o
															.serializer
															.deserialize(
																c
															)
														),
														void 0 !==
														(c = e(c,
															u
															.key,
															s +
															1
														))
													)
														return void t(
															c
														)
												}
												t()
											}), (function(e,
											t) {
											n(t)
										}))
								}))
							})).catch(n)
						}));
					return f(n, t), n
				}

				function Ie(e, t, r, n) {
					var o = this;
					e = d(e);
					var i = new c((function(i, a) {
						o.ready().then((function() {
							void 0 === t && (t = null);
							var s = t,
								u = o._dbInfo;
							u.serializer.serialize(t, (function(t, c) {
								c ? a(c) : u.db.transaction(
									(function(r) {
										_e(r, u, "INSERT OR REPLACE INTO " +
											u
											.storeName +
											" (key, value) VALUES (?, ?)",
											[e,
												t
											],
											(function() {
												i(s)
											}),
											(function(
												e,
												t
											) {
												a(t)
											}))
									}), (function(t) {
										if (t
											.code ===
											t
											.QUOTA_ERR
										) {
											if (n >
												0)
												return void i(
													Ie
													.apply(
														o,
														[e, s,
															r,
															n -
															1
														]
													)
												);
											a(t)
										}
									}))
							}))
						})).catch(a)
					}));
					return f(i, r), i
				}

				function Te(e, t, r) {
					return Ie.apply(this, [e, t, r, 1])
				}

				function Me(e, t) {
					var r = this;
					e = d(e);
					var n = new c((function(t, n) {
						r.ready().then((function() {
							var o = r._dbInfo;
							o.db.transaction((function(r) {
								_e(r, o, "DELETE FROM " + o
									.storeName +
									" WHERE key = ?", [
										e
									], (
										function() {
											t()
										}), (function(e,
										t) {
										n(t)
									}))
							}))
						})).catch(n)
					}));
					return f(n, t), n
				}

				function ke(e) {
					var t = this,
						r = new c((function(e, r) {
							t.ready().then((function() {
								var n = t._dbInfo;
								n.db.transaction((function(t) {
									_e(t, n, "DELETE FROM " + n
										.storeName, [], (
											function() {
												e()
											}), (function(e,
											t) {
											r(t)
										}))
								}))
							})).catch(r)
						}));
					return f(r, e), r
				}

				function xe(e) {
					var t = this,
						r = new c((function(e, r) {
							t.ready().then((function() {
								var n = t._dbInfo;
								n.db.transaction((function(t) {
									_e(t, n, "SELECT COUNT(key) as c FROM " +
										n.storeName, [], (
											function(t, r) {
												var n = r
													.rows
													.item(0)
													.c;
												e(n)
											}), (function(e,
											t) {
											r(t)
										}))
								}))
							})).catch(r)
						}));
					return f(r, e), r
				}

				function Ee(e, t) {
					var r = this,
						n = new c((function(t, n) {
							r.ready().then((function() {
								var o = r._dbInfo;
								o.db.transaction((function(r) {
									_e(r, o, "SELECT key FROM " +
										o.storeName +
										" WHERE id = ? LIMIT 1",
										[e + 1], (function(
											e, r) {
											var n = r
												.rows
												.length ?
												r.rows
												.item(0)
												.key :
												null;
											t(n)
										}), (function(e,
											t) {
											n(t)
										}))
								}))
							})).catch(n)
						}));
					return f(n, t), n
				}

				function Oe(e) {
					var t = this,
						r = new c((function(e, r) {
							t.ready().then((function() {
								var n = t._dbInfo;
								n.db.transaction((function(t) {
									_e(t, n, "SELECT key FROM " +
										n.storeName, [], (
											function(t, r) {
												for (var n = [],
														o =
														0; o <
													r.rows
													.length; o++
												) n
													.push(r
														.rows
														.item(
															o
														)
														.key
													);
												e(n)
											}), (function(e,
											t) {
											r(t)
										}))
								}))
							})).catch(r)
						}));
					return f(r, e), r
				}

				function je(e) {
					return new c((function(t, r) {
						e.transaction((function(n) {
							n.executeSql(
								"SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'",
								[], (function(r, n) {
									for (var o = [], i = 0; i <
										n.rows.length; i++) o
										.push(n.rows.item(i)
											.name);
									t({
										db: e,
										storeNames: o
									})
								}), (function(e, t) {
									r(t)
								}))
						}), (function(e) {
							r(e)
						}))
					}))
				}

				function Ae(e, t) {
					t = p.apply(this, arguments);
					var r = this.config();
					(e = "function" != typeof e && e || {}).name || (e.name = e.name || r.name,
						e.storeName = e.storeName || r.storeName);
					var n, o = this;
					return n = e.name ? new c((function(t) {
						var n;
						n = e.name === r.name ? o._dbInfo.db : openDatabase(e.name,
							"", "", 0), e.storeName ? t({
							db: n,
							storeNames: [e.storeName]
						}) : t(je(n))
					})).then((function(e) {
						return new c((function(t, r) {
							e.db.transaction((function(n) {
								function o(e) {
									return new c((function(
										t, r) {
										n.executeSql(
											"DROP TABLE IF EXISTS " +
											e,
											[],
											(function() {
												t()
											}),
											(function(
												e,
												t
											) {
												r(t)
											})
										)
									}))
								}
								for (var i = [], a = 0, s =
										e.storeNames
										.length; a < s; a++)
									i.push(o(e.storeNames[
										a]));
								c.all(i).then((function() {
									t()
								})).catch((function(e) {
									r(e)
								}))
							}), (function(e) {
								r(e)
							}))
						}))
					})) : c.reject("Invalid arguments"), f(n, t), n
				}
				var Ce = {
					_driver: "webSQLStorage",
					_initStorage: be,
					_support: Y(),
					iterate: Se,
					getItem: we,
					setItem: Te,
					removeItem: Me,
					clear: ke,
					length: xe,
					key: Ee,
					keys: Oe,
					dropInstance: Ae
				};

				function Le() {
					try {
						return "undefined" != typeof localStorage && "setItem" in
							localStorage && !!localStorage.setItem
					} catch (e) {
						return !1
					}
				}

				function De(e, t) {
					var r = e.name + "/";
					return e.storeName !== t.storeName && (r += e.storeName + "/"), r
				}

				function Ne() {
					var e = "_localforage_support_test";
					try {
						return localStorage.setItem(e, !0), localStorage.removeItem(e), !1
					} catch (e) {
						return !0
					}
				}

				function Re() {
					return !Ne() || localStorage.length > 0
				}

				function qe(e) {
					var t = this,
						r = {};
					if (e)
						for (var n in e) r[n] = e[n];
					return r.keyPrefix = De(e, t._defaultConfig), Re() ? (t._dbInfo = r, r
						.serializer = ve, c.resolve()) : c.reject()
				}

				function Pe(e) {
					var t = this,
						r = t.ready().then((function() {
							for (var e = t._dbInfo.keyPrefix, r = localStorage.length -
									1; r >= 0; r--) {
								var n = localStorage.key(r);
								0 === n.indexOf(e) && localStorage.removeItem(n)
							}
						}));
					return f(r, e), r
				}

				function $e(e, t) {
					var r = this;
					e = d(e);
					var n = r.ready().then((function() {
						var t = r._dbInfo,
							n = localStorage.getItem(t.keyPrefix + e);
						return n && (n = t.serializer.deserialize(n)), n
					}));
					return f(n, t), n
				}

				function ze(e, t) {
					var r = this,
						n = r.ready().then((function() {
							for (var t = r._dbInfo, n = t.keyPrefix, o = n.length, i =
									localStorage.length, a = 1, s = 0; s < i; s++) {
								var u = localStorage.key(s);
								if (0 === u.indexOf(n)) {
									var c = localStorage.getItem(u);
									if (c && (c = t.serializer.deserialize(c)),
										void 0 !== (c = e(c, u.substring(o), a++)))
										return c
								}
							}
						}));
					return f(n, t), n
				}

				function Qe(e, t) {
					var r = this,
						n = r.ready().then((function() {
							var t, n = r._dbInfo;
							try {
								t = localStorage.key(e)
							} catch (e) {
								t = null
							}
							return t && (t = t.substring(n.keyPrefix.length)), t
						}));
					return f(n, t), n
				}

				function Ue(e) {
					var t = this,
						r = t.ready().then((function() {
							for (var e = t._dbInfo, r = localStorage.length, n = [], o =
									0; o < r; o++) {
								var i = localStorage.key(o);
								0 === i.indexOf(e.keyPrefix) && n.push(i.substring(e
									.keyPrefix.length))
							}
							return n
						}));
					return f(r, e), r
				}

				function Fe(e) {
					var t = this.keys().then((function(e) {
						return e.length
					}));
					return f(t, e), t
				}

				function Be(e, t) {
					var r = this;
					e = d(e);
					var n = r.ready().then((function() {
						var t = r._dbInfo;
						localStorage.removeItem(t.keyPrefix + e)
					}));
					return f(n, t), n
				}

				function Ge(e, t, r) {
					var n = this;
					e = d(e);
					var o = n.ready().then((function() {
						void 0 === t && (t = null);
						var r = t;
						return new c((function(o, i) {
							var a = n._dbInfo;
							a.serializer.serialize(t, (function(t, n) {
								if (n) i(n);
								else try {
									localStorage
										.setItem(a
											.keyPrefix +
											e, t), o(r)
								} catch (e) {
									"QuotaExceededError" !==
									e.name &&
										"NS_ERROR_DOM_QUOTA_REACHED" !==
										e.name || i(e),
										i(e)
								}
							}))
						}))
					}));
					return f(o, r), o
				}

				function He(e, t) {
					if (t = p.apply(this, arguments), !(e = "function" != typeof e && e || {})
						.name) {
						var r = this.config();
						e.name = e.name || r.name, e.storeName = e.storeName || r.storeName
					}
					var n, o = this;
					return n = e.name ? new c((function(t) {
						e.storeName ? t(De(e, o._defaultConfig)) : t(e.name + "/")
					})).then((function(e) {
						for (var t = localStorage.length - 1; t >= 0; t--) {
							var r = localStorage.key(t);
							0 === r.indexOf(e) && localStorage.removeItem(r)
						}
					})) : c.reject("Invalid arguments"), f(n, t), n
				}
				var We = {
						_driver: "localStorageWrapper",
						_initStorage: qe,
						_support: Le(),
						iterate: ze,
						getItem: $e,
						setItem: Ge,
						removeItem: Be,
						clear: Pe,
						length: Fe,
						key: Qe,
						keys: Ue,
						dropInstance: He
					},
					Ye = function(e, t) {
						return e === t || "number" == typeof e && "number" == typeof t && isNaN(
							e) && isNaN(t)
					},
					Je = function(e, t) {
						for (var r = e.length, n = 0; n < r;) {
							if (Ye(e[n], t)) return !0;
							n++
						}
						return !1
					},
					Ke = Array.isArray || function(e) {
						return "[object Array]" === Object.prototype.toString.call(e)
					},
					Ve = {},
					Xe = {},
					Ze = {
						INDEXEDDB: W,
						WEBSQL: Ce,
						LOCALSTORAGE: We
					},
					et = [Ze.INDEXEDDB._driver, Ze.WEBSQL._driver, Ze.LOCALSTORAGE._driver],
					tt = ["dropInstance"],
					rt = ["clear", "getItem", "iterate", "key", "keys", "length", "removeItem",
						"setItem"
					].concat(tt),
					nt = {
						description: "",
						driver: et.slice(),
						name: "localforage",
						size: 4980736,
						storeName: "keyvaluepairs",
						version: 1
					};

				function ot(e, t) {
					e[t] = function() {
						var r = arguments;
						return e.ready().then((function() {
							return e[t].apply(e, r)
						}))
					}
				}

				function it() {
					for (var e = 1; e < arguments.length; e++) {
						var t = arguments[e];
						if (t)
							for (var r in t) t.hasOwnProperty(r) && (Ke(t[r]) ? arguments[0][
								r
							] = t[r].slice() : arguments[0][r] = t[r])
					}
					return arguments[0]
				}
				var at = function() {
						function e(t) {
							for (var r in o(this, e), Ze)
								if (Ze.hasOwnProperty(r)) {
									var n = Ze[r],
										i = n._driver;
									this[r] = i, Ve[i] || this.defineDriver(n)
								} this._defaultConfig = it({}, nt), this._config = it({}, this
									._defaultConfig, t), this._driverSet = null, this
								._initDriver = null, this._ready = !1, this._dbInfo = null, this
								._wrapLibraryMethodsWithReady(), this.setDriver(this._config
									.driver).catch((function() {}))
						}
						return e.prototype.config = function(e) {
							if ("object" === (void 0 === e ? "undefined" : n(e))) {
								if (this._ready) return new Error(
									"Can't call config() after localforage has been used."
								);
								for (var t in e) {
									if ("storeName" === t && (e[t] = e[t].replace(/\W/g,
											"_")), "version" === t && "number" != typeof e[
											t]) return new Error(
										"Database version must be a number.");
									this._config[t] = e[t]
								}
								return !("driver" in e) || !e.driver || this.setDriver(this
									._config.driver)
							}
							return "string" == typeof e ? this._config[e] : this._config
						}, e.prototype.defineDriver = function(e, t, r) {
							var n = new c((function(t, r) {
								try {
									var n = e._driver,
										o = new Error(
											"Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver"
										);
									if (!e._driver) return void r(o);
									for (var i = rt.concat("_initStorage"), a =
											0, s = i.length; a < s; a++) {
										var u = i[a];
										if ((!Je(tt, u) || e[u]) &&
											"function" != typeof e[u])
											return void r(o)
									}
									var l = function() {
										for (var t = function(e) {
												return function() {
													var t =
														new Error(
															"Method " +
															e +
															" is not implemented by the current driver"
														),
														r = c
														.reject(t);
													return f(r,
															arguments[
																arguments
																.length -
																1]),
														r
												}
											}, r = 0, n = tt.length; r <
											n; r++) {
											var o = tt[r];
											e[o] || (e[o] = t(o))
										}
									};
									l();
									var d = function(r) {
										Ve[n] && console.info(
												"Redefining LocalForage driver: " +
												n), Ve[n] = e, Xe[n] = r,
											t()
									};
									"_support" in e ? e._support &&
										"function" == typeof e._support ? e
										._support().then(d, r) : d(!!e
											._support) : d(!0)
								} catch (e) {
									r(e)
								}
							}));
							return l(n, t, r), n
						}, e.prototype.driver = function() {
							return this._driver || null
						}, e.prototype.getDriver = function(e, t, r) {
							var n = Ve[e] ? c.resolve(Ve[e]) : c.reject(new Error(
								"Driver not found."));
							return l(n, t, r), n
						}, e.prototype.getSerializer = function(e) {
							var t = c.resolve(ve);
							return l(t, e), t
						}, e.prototype.ready = function(e) {
							var t = this,
								r = t._driverSet.then((function() {
									return null === t._ready && (t._ready = t
										._initDriver()), t._ready
								}));
							return l(r, e, e), r
						}, e.prototype.setDriver = function(e, t, r) {
							var n = this;
							Ke(e) || (e = [e]);
							var o = this._getSupportedDrivers(e);

							function i() {
								n._config.driver = n.driver()
							}

							function a(e) {
								return n._extend(e), i(), n._ready = n._initStorage(n
									._config), n._ready
							}

							function s(e) {
								return function() {
									var t = 0;

									function r() {
										for (; t < e.length;) {
											var o = e[t];
											return t++, n._dbInfo = null, n._ready =
												null, n.getDriver(o).then(a).catch(r)
										}
										i();
										var s = new Error(
											"No available storage method found.");
										return n._driverSet = c.reject(s), n._driverSet
									}
									return r()
								}
							}
							var u = null !== this._driverSet ? this._driverSet.catch((
								function() {
									return c.resolve()
								})) : c.resolve();
							return this._driverSet = u.then((function() {
								var e = o[0];
								return n._dbInfo = null, n._ready = null, n
									.getDriver(e).then((function(e) {
										n._driver = e._driver, i(), n
											._wrapLibraryMethodsWithReady(),
											n._initDriver = s(o)
									}))
							})).catch((function() {
								i();
								var e = new Error(
									"No available storage method found.");
								return n._driverSet = c.reject(e), n._driverSet
							})), l(this._driverSet, t, r), this._driverSet
						}, e.prototype.supports = function(e) {
							return !!Xe[e]
						}, e.prototype._extend = function(e) {
							it(this, e)
						}, e.prototype._getSupportedDrivers = function(e) {
							for (var t = [], r = 0, n = e.length; r < n; r++) {
								var o = e[r];
								this.supports(o) && t.push(o)
							}
							return t
						}, e.prototype._wrapLibraryMethodsWithReady = function() {
							for (var e = 0, t = rt.length; e < t; e++) ot(this, rt[e])
						}, e.prototype.createInstance = function(t) {
							return new e(t)
						}, e
					}(),
					st = new at;
				t.exports = st
			}, {
				3: 3
			}]
		}, {}, [4])(4)
	})),
	_s = bs.createInstance({
		name: "im4.0"
	});

function ws(e) {
	var t, n, o, i;
	return r(this, (function(r) {
		switch (r.label) {
			case 0:
				return t = e.data, n = t.item, o = t.list, [4, _s.getItem("im.history-" + n.group.groupId)];
			case 1:
				return i = r.sent(), _s.setItem("im.history-" + n.group.groupId, {
					data: o,
					hasMoreData: i.hasMoreData,
					nextToken: i.nextToken
				}), [2]
		}
	}))
}

function Ss(e) {
	var t, o, i;
	return r(this, (function(r) {
		switch (r.label) {
			case 0:
				return t = e.data.message.group.groupId, o = e.data.message, [4, _s.getItem("im.history-" +
					t)];
			case 1:
				return (i = r.sent()) ? _s.setItem("im.history-" + t, {
					data: n(i.data, [o]),
					hasMoreData: i.hasMoreData,
					nextToken: i.nextToken
				}) : _s.setItem("im.history-" + t, {
					data: [o],
					hasMoreData: !0,
					nextToken: ""
				}), [2]
		}
	}))
}

function Is(e) {
	var t, o, i;
	return r(this, (function(r) {
		switch (r.label) {
			case 0:
				return t = e.data.message.group.groupId, o = e.data.message, [4, _s.getItem("im.history-" +
					t)];
			case 1:
				return (i = r.sent()) ? _s.setItem("im.history-" + t, {
					data: n(i.data, [o]),
					hasMoreData: i.hasMoreData,
					nextToken: i.nextToken
				}) : _s.setItem("im.history-" + t, {
					data: [o],
					hasMoreData: !0,
					nextToken: ""
				}), [2]
		}
	}))
}

function Ts(t) {
	var n, o, i, a, u;
	return r(this, (function(r) {
		switch (r.label) {
			case 0:
				return [4, Ht(500)];
			case 1:
				r.sent(), n = As.getState().global.uid, r.label = 2;
			case 2:
				return r.trys.push([2, 10, , 11]), t.data.top ? [3, 6] : [4, _n({
					groupId: t.data.groupId,
					limit: t.data.limit,
					nextToken: ""
				})];
			case 3:
				return (a = r.sent()).data.ok ? (_s.setItem("im.history-" + t.data.groupId, e({
					uid: n
				}, a.data.result)), [4, Ft(Ya(a.data.result))]) : [3, 5];
			case 4:
				r.sent(), s.publish(ds), r.label = 5;
			case 5:
				return [3, 9];
			case 6:
				return o = As.getState().data.historyMessageParams, i = o.nextToken, o.hasMoreData ? [4,
					_n({
						groupId: t.data.groupId,
						limit: t.data.limit,
						nextToken: i
					})
				] : (s.publish(ds, t.data.top), [2]);
			case 7:
				return (a = r.sent()).data.ok ? [4, Ft(Ja(a.data.result))] : [3, 9];
			case 8:
				r.sent(), s.publish(ds, t.data.top), r.label = 9;
			case 9:
				return [3, 11];
			case 10:
				return u = r.sent(), Kr.error("getHistory 发生错误", u)(), [3, 11];
			case 11:
				return [2]
		}
	}))
}

function Ms(t) {
	var n, o;
	return r(this, (function(r) {
		switch (r.label) {
			case 0:
				return n = As.getState().global.uid, t.data.top ? [2] : [4, Ft(En(t.data.groupId || -1))];
			case 1:
				return r.sent(), [4, _s.getItem("im.history-" + t.data.groupId)];
			case 2:
				return (o = r.sent()) && n === o.uid ? [4, Ft(Ya(e(e({}, o), {
					dataFrom: "db"
				})))] : [3, 4];
			case 3:
				return r.sent(), [3, 6];
			case 4:
				return [4, Ft(Xa())];
			case 5:
				r.sent(), r.label = 6;
			case 6:
				return s.publish(ds), [2]
		}
	}))
}

function ks(t) {
	var n, o, i, a, u;
	return r(this, (function(r) {
		switch (r.label) {
			case 0:
				return [4, Ht(200)];
			case 1:
				r.sent(), n = As.getState().global.uid, r.label = 2;
			case 2:
				return r.trys.push([2, 18, , 19]), t.data.top ? [3, 10] : "query" !== t.data
					.queryModeSearchConfig.mode ? [3, 6] : [4, Sn(e({
						limit: t.data.limit,
						nextToken: ""
					}, t.data.queryModeSearchConfig.params))];
			case 3:
				return (a = r.sent()).data.ok ? (_s.setItem("im.group.List", e(e({}, a.data.result), {
					uid: n
				})), [4, Ft(Za(a.data.result))]) : [3, 5];
			case 4:
				r.sent(), s.publish(ps), r.label = 5;
			case 5:
				return [3, 9];
			case 6:
				return [4, wn({
					limit: t.data.limit,
					nextToken: ""
				})];
			case 7:
				return (a = r.sent()).data.ok ? (_s.setItem("im.group.List", e(e({}, a.data.result), {
					uid: n
				})), [4, Ft(Za(a.data.result))]) : [3, 9];
			case 8:
				r.sent(), s.publish(ps), r.label = 9;
			case 9:
				return [3, 17];
			case 10:
				return o = As.getState().data.groupMessageParams, i = o.nextToken, o.hasMoreData ?
					"query" !== t.data.queryModeSearchConfig.mode ? [3, 14] : [4, Sn(e({
						limit: t.data.limit,
						nextToken: i
					}, t.data.queryModeSearchConfig.params))] : (s.publish(ps, t.data.top), [2]);
			case 11:
				return (a = r.sent()).data.ok ? [4, Ft(es(a.data.result))] : [3, 13];
			case 12:
				r.sent(), s.publish(ps, t.data.top), r.label = 13;
			case 13:
				return [3, 17];
			case 14:
				return [4, wn({
					limit: t.data.limit,
					nextToken: i
				})];
			case 15:
				return (a = r.sent()).data.ok ? [4, Ft(es(a.data.result))] : [3, 17];
			case 16:
				r.sent(), s.publish(ps, t.data.top), r.label = 17;
			case 17:
				return [3, 19];
			case 18:
				return u = r.sent(), Kr.error("getGroupList 发生错误", u)(), [3, 19];
			case 19:
				return [2]
		}
	}))
}

function xs(t) {
	var n, o;
	return r(this, (function(r) {
		switch (r.label) {
			case 0:
				return "query" === t.data.queryModeSearchConfig.mode ? (Kr.log("查询模式不走缓存")(), [2]) : (n = As
					.getState().global.uid, t.data.top ? [2] : [4, _s.getItem("im.group.List")]);
			case 1:
				return (o = r.sent()) && n === o.uid ? [4, Ft(Za(e(e({}, o), {
					dataFrom: "db"
				})))] : [3, 3];
			case 2:
				return r.sent(), [3, 5];
			case 3:
				return [4, Ft(ts())];
			case 4:
				r.sent(), r.label = 5;
			case 5:
				return s.publish(ps), [2]
		}
	}))
}

function Es(e) {
	var t, n;
	return r(this, (function(r) {
		switch (r.label) {
			case 0:
				return [4, _s.getItem("im.group.List")];
			case 1:
				return (t = r.sent()) ? (n = {
					hasMoreData: t.hasMoreData,
					nextToken: t.nextToken,
					data: e.data.list
				}, _s.setItem("im.group.List", n), [4, Ft(Za(n))]) : [3, 3];
			case 2:
				return r.sent(), s.publish(ps), [3, 5];
			case 3:
				return n = {
					hasMoreData: !0,
					nextToken: "",
					data: e.data.list
				}, _s.setItem("im.group.List", n), [4, Ft(Za(n))];
			case 4:
				r.sent(), s.publish(ps), r.label = 5;
			case 5:
				return [2]
		}
	}))
}
var Os = function(e) {
		var t, r = void 0 === e ? {} : e,
			n = r.context,
			o = void 0 === n ? {} : n,
			i = r.channel,
			a = void 0 === i ? cr() : i,
			s = r.sagaMonitor,
			u = function(e, t) {
				if (null == e) return {};
				var r, n, o = {},
					i = Object.keys(e);
				for (n = 0; n < i.length; n++) r = i[n], t.indexOf(r) >= 0 || (o[r] = e[r]);
				return o
			}(r, ["context", "channel", "sagaMonitor"]);

		function c(e) {
			var r = e.getState,
				n = e.dispatch;
			return t = Ar.bind(null, ot({}, u, {
					context: o,
					channel: a,
					dispatch: n,
					getState: r,
					sagaMonitor: s
				})),
				function(e) {
					return function(t) {
						s && s.actionDispatched && s.actionDispatched(t);
						var r = e(t);
						return a.put(t), r
					}
				}
		}
		return c.run = function() {
			return t.apply(void 0, arguments)
		}, c.setContext = function(e) {
			wt(o, e)
		}, c
	}(),
	js = function(e) {
		for (var t = Object.keys(e), r = {}, n = 0; n < t.length; n++) {
			var o = t[n];
			"function" == typeof e[o] && (r[o] = e[o])
		}
		var i, a = Object.keys(r);
		try {
			! function(e) {
				Object.keys(e).forEach((function(t) {
					var r = e[t];
					if (void 0 === r(void 0, {
							type: b.INIT
						})) throw new Error('Reducer "' + t +
						"\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined."
					);
					if (void 0 === r(void 0, {
							type: b.PROBE_UNKNOWN_ACTION()
						})) throw new Error('Reducer "' + t +
						"\" returned undefined when probed with a random type. Don't try to handle " +
						b.INIT +
						' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.'
					)
				}))
			}(r)
		} catch (e) {
			i = e
		}
		return function(e, t) {
			if (void 0 === e && (e = {}), i) throw i;
			for (var n = !1, o = {}, s = 0; s < a.length; s++) {
				var u = a[s],
					c = r[u],
					f = e[u],
					l = c(f, t);
				if (void 0 === l) {
					var d = _(u, t);
					throw new Error(d)
				}
				o[u] = l, n = n || l !== f
			}
			return (n = n || a.length !== Object.keys(e).length) ? o : e
		}
	}({
		global: function(e, t) {
			switch (void 0 === e && (e = $e), t.type) {
				case _e:
					return e.debug = t.value, e;
				case we:
					return e.db = t.value, e;
				case ve:
					return e.uid = t.value, e;
				case ye:
					return e.token && !t.value || (e.token = t.value), e;
				case me:
					return e.runtime = t.value, e.runtime.env === d.MINIAPP && (he.defaults.adapter = z), e;
				case be:
					return e.api = t.value, e;
				case Ie:
					return e.controllerName = t.value, e;
				default:
					return e
			}
		},
		core: function(e, t) {
			return void 0 === e && (e = ze), t.type === Qe + "set-ws" ? (e._ws = t.value, e) : t.type === Qe +
				"close-ws" ? (e._ws && e._ws.close(), e) : e
		},
		data: function(e, t) {
			switch (void 0 === e && (e = Fe), t.type) {
				case ke:
					e.historyMessageList = t.data.data, e.historyMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: t.data.dataFrom
					};
					break;
				case xe:
					e.historyMessageList = n(t.data.data, Fe.historyMessageList), e.historyMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: ""
					};
					break;
				case Ee:
					e.historyMessageList = t.data.List || [], e.groupMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: ""
					};
					break;
				case je:
					e.historyMessageList = [], e.historyMessageParams = {
						hasMoreData: !1,
						nextToken: "",
						dataFrom: "db"
					};
					break;
				case Ne:
					e.groupMessageList = t.data.data, e.groupMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: ""
					};
					break;
				case Re:
					e.groupMessageList = n(Fe.groupMessageList, t.data.data), e.groupMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: ""
					};
					break;
				case qe:
					e.groupMessageList = [], e.groupMessageParams = {
						hasMoreData: !1,
						nextToken: "",
						dataFrom: "db"
					};
					break;
				case Se:
					e.groupId = t.value;
					break;
				default:
					return e
			}
			return e
		},
		cache: function(e, t) {
			switch (void 0 === e && (e = Ge), t.type) {
				case ke:
					e.historyMessageList = t.data.data, e.historyMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: t.data.dataFrom
					};
					break;
				case xe:
					e.historyMessageList = n(t.data.data, Ge.historyMessageList), e.historyMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: ""
					};
					break;
				case Ee:
					e.historyMessageList = t.data.List, e.groupMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: ""
					};
					break;
				case je:
					e.historyMessageList = [], e.historyMessageParams = {
						hasMoreData: !1,
						nextToken: "",
						dataFrom: "db"
					};
					break;
				case Ne:
					e.groupMessageList = t.data.data, e.groupMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: ""
					};
					break;
				case Re:
					e.groupMessageList = n(Ge.groupMessageList, t.data.data), e.groupMessageParams = {
						hasMoreData: t.data.hasMoreData,
						nextToken: t.data.nextToken,
						dataFrom: ""
					};
					break;
				case qe:
					e.groupMessageList = [], e.groupMessageParams = {
						hasMoreData: !1,
						nextToken: "",
						dataFrom: "db"
					};
					break;
				case Se:
					e.groupId = t.value;
					break;
				default:
					return e
			}
			return e
		}
	}),
	As = function e(t, r, n) {
		var o;
		if ("function" == typeof r && "function" == typeof n || "function" == typeof n && "function" ==
			typeof arguments[3]) throw new Error(
			"It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function."
		);
		if ("function" == typeof r && void 0 === n && (n = r, r = void 0), void 0 !== n) {
			if ("function" != typeof n) throw new Error("Expected the enhancer to be a function.");
			return n(e)(t, r)
		}
		if ("function" != typeof t) throw new Error("Expected the reducer to be a function.");
		var i = t,
			a = r,
			s = [],
			u = s,
			c = !1;

		function f() {
			u === s && (u = s.slice())
		}

		function l() {
			if (c) throw new Error(
				"You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store."
			);
			return a
		}

		function d(e) {
			if ("function" != typeof e) throw new Error("Expected the listener to be a function.");
			if (c) throw new Error(
				"You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribelistener for more details."
			);
			var t = !0;
			return f(), u.push(e),
				function() {
					if (t) {
						if (c) throw new Error(
							"You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribelistener for more details."
						);
						t = !1, f();
						var r = u.indexOf(e);
						u.splice(r, 1), s = null
					}
				}
		}

		function p(e) {
			if (! function(e) {
					if ("object" != typeof e || null === e) return !1;
					for (var t = e; null !== Object.getPrototypeOf(t);) t = Object.getPrototypeOf(t);
					return Object.getPrototypeOf(e) === t
				}(e)) throw new Error("Actions must be plain objects. Use custom middleware for async actions.");
			if (void 0 === e.type) throw new Error(
				'Actions may not have an undefined "type" property. Have you misspelled a constant?');
			if (c) throw new Error("Reducers may not dispatch actions.");
			try {
				c = !0, a = i(a, e)
			} finally {
				c = !1
			}
			for (var t = s = u, r = 0; r < t.length; r++) {
				(0, t[r])()
			}
			return e
		}
		return p({
			type: b.INIT
		}), (o = {
			dispatch: p,
			subscribe: d,
			getState: l,
			replaceReducer: function(e) {
				if ("function" != typeof e) throw new Error("Expected the nextReducer to be a function.");
				i = e, p({
					type: b.REPLACE
				})
			}
		})[v] = function() {
			var e, t = d;
			return (e = {
				subscribe: function(e) {
					if ("object" != typeof e || null === e) throw new TypeError(
						"Expected the observer to be an object.");

					function r() {
						e.next && e.next(l())
					}
					return r(), {
						unsubscribe: t(r)
					}
				}
			})[v] = function() {
				return this
			}, e
		}, o
	}(js, (window && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || I)(function() {
		for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r];
		return function(e) {
			return function() {
				var r = e.apply(void 0, arguments),
					n = function() {
						throw new Error(
							"Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch."
						)
					},
					o = {
						getState: r.getState,
						dispatch: function() {
							return n.apply(void 0, arguments)
						}
					},
					i = t.map((function(e) {
						return e(o)
					}));
				return function(e) {
					for (var t = 1; t < arguments.length; t++) {
						var r = null != arguments[t] ? arguments[t] : {};
						t % 2 ? S(r, !0).forEach((function(t) {
							w(e, t, r[t])
						})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e,
							Object.getOwnPropertyDescriptors(r)) : S(r).forEach((function(t) {
							Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(
								r, t))
						}))
					}
					return e
				}({}, r, {
					dispatch: n = I.apply(void 0, i)(r.dispatch)
				})
			}
		}
	}(Os)));
Os.run((function() {
	return r(this, (function(e) {
		switch (e.label) {
			case 0:
				return [4, Qr(Oe, Ts)];
			case 1:
				return e.sent(), [4, zr(Oe, Ms)];
			case 2:
				return e.sent(), [4, zr(Ae, ws)];
			case 3:
				return e.sent(), [4, zr(Ce, Ss)];
			case 4:
				return e.sent(), [4, Qr(Le, ks)];
			case 5:
				return e.sent(), [4, zr(Le, xs)];
			case 6:
				return e.sent(), [4, zr(Pe, Es)];
			case 7:
				return e.sent(), [4, zr(De, Is)];
			case 8:
				return e.sent(), [2]
		}
	}))
}));
var Cs = "core.sendmessage",
	Ls = "main.",
	Ds = Ls + "onmessage",
	Ns = Ls + "sendmessage",
	Rs = Ls + "onerror",
	qs = Ls + "onopen",
	Ps = Ls + "onclose",
	$s = Ls + "sendspecialmessage",
	zs = Ls + "info",
	Qs = As.getState().global,
	Us = function() {
		function e() {}
		return e.prototype.init = function() {
			this._connect()
		}, e.prototype._connect = function() {
			this._addListener(), this._wsInit()
		}, e.prototype._addListener = function() {
			var e = this;
			s.unsubscribe(Cs), s.subscribe(Cs, (function(t, r) {
				e._sendMessage(r)
			}))
		}, e.prototype._wsInit = function() {
			Zr(Cr["core-_connect"], As.getState());
			var e = new Fs;
			this._ws = e, As.dispatch({
				type: "core/set-ws",
				value: e
			})
		}, e.prototype._sendMessage = function(e) {
			var t = this._genMessage(e);
			this._ws.send(t)
		}, e.prototype._genMessage = function(e) {
			var t = {
				data: ""
			};
			if (e.eventType === u.SendMsg) {
				var r = e.data.body,
					n = e.data;
				t = {
					data: JSON.stringify({
						clientMsgId: n.clientMsgId,
						messageType: n.type,
						groupId: n.groupId,
						senderUId: n.sender.userId,
						feature: n.feature,
						appType: n.appType,
						body: r
					})
				}
			} else(e.eventType === u.ACK || e.eventType === u.ReadStatus || e.data) && (t = {
				data: JSON.stringify(e.data)
			});
			return Object.assign(t, {
				version: e.version,
				eventType: e.eventType
			}), JSON.stringify(t)
		}, e
	}(),
	Fs = function() {
		function e() {
			this._connect()
		}
		return e.prototype._connect = function() {
				var e = Qs.runtime;
				e.env === d.MINIAPP && this.MINIAPPinitListener(), e.env === d.H5 && this.H5initListener()
			},
			e.prototype.H5initListener = function() {
				var e = Qs.api.wssurl,
          f = As.getState().global,
					t = new WebSocket(e+ '?token=' + f.token);
				this._websocket = t,
					console.log('H5initListener', e)
				t.onopen = function() {
						Zr(Cr["core-_onopen"]), s.publish(qs)
					},
					t.onmessage = function(e) {
						Zr(Cr["core-_onmessage"], JSON.parse(e.data)), s.publish(Ds, e)
					},
					t.onerror = function(e) {
						Zr(Cr["core-_onerror"], e), console.log("WebSocket error: ", e), s.publish(Rs, e)
					},
					t.onclose = function(e) {
						Zr(Cr["core-_onclose"], e), s.publish(Ps, e)
					}
			},
			e.prototype.appEnv = function() {
				return "undefined" != typeof my ? "ali" : "wx"
			},
			e.prototype.MINIAPPinitListener = function() {
				var e = As.getState().global,
					t = e.api,
					r = e.token,
					n = t.wssurl;
				if (console.log(r), console.log(this.appEnv()), "wx" === this.appEnv()) {
					var o = {
						url: n + '?token=' + r,
						header: {
							Token: r,
						}
					};
					console.log('MINIAPPinitListener wx o', o),
						wx.connectSocket(o),
						wx.onSocketOpen((function() {
							Zr(Cr["core-_onopen"]), s.publish(qs)
						})),
						wx.onSocketMessage((function(e) {
							Zr(Cr["core-_onmessage"], JSON.parse(e.data)), s.publish(Ds, e)
						})),
						wx.onSocketError((function(e) {
							Zr(Cr["core-_onerror"], e), s.publish(Rs, e)
						})),
						wx.onSocketClose((function(e) {
							Zr(Cr["core-_onclose"], e), s.publish(Ps, e), console.log("WebSocket close: ", e)
						}))
				} else if ("ali" === this.appEnv()) {
					o = {
						url: n,
						header: {
							Token: r
						},
						success: function(e) {
							console.log("创建socket连接成功" + JSON.stringify(e))
						},
						fail: function(e) {
							console.error("创建连接失败: ", JSON.stringify(e))
						}
					};
					my.connectSocket(o), my.onSocketOpen((function() {
						Zr(Cr["core-_onopen"]), s.publish(qs)
					})), my.onSocketError((function(e) {
						Zr(Cr["core-_onerror"], e), s.publish(Rs, e)
					})), my.onSocketClose((function(e) {
						Zr(Cr["core-_onclose"], e), s.publish(Ps, e)
					})), my.onSocketMessage((function(e) {
						Zr(Cr["core-_onmessage"], JSON.parse(e.data)), s.publish(Ds, e)
					}))
				}
			}, e.prototype.close = function() {
				var e = Qs.runtime;
				e.env === d.MINIAPP && wx.closeSocket(), e.env === d.H5 && this._websocket && this._websocket.close()
			}, e.prototype.send = function(e) {
				var t = As.getState().global.runtime;
				Zr(Cr["core-_send"], e), t.env === d.MINIAPP && wx.sendSocketMessage({
					data: e
				}), t.env === d.H5 && 1 === this._websocket.readyState && this._websocket.send(e)
			}, e
	}(),
	Bs = new Us;
var Gs = function(e) {
	var t = null == e ? 0 : e.length;
	return t ? e[t - 1] : void 0
};
var Hs = function(e, t, r) {
	var n = -1,
		o = e.length;
	t < 0 && (t = -t > o ? 0 : o + t), (r = r > o ? o : r) < 0 && (r += o), o = t > r ? 0 : r - t >>> 0, t >>>= 0;
	for (var i = Array(o); ++n < o;) i[n] = e[n + t];
	return i
};
var Ws = function(e, t) {
	return t.length < 2 ? e : Ra(e, Hs(t, 0, -1))
};
var Ys = function(e, t) {
		return t = Da(t, e), null == (e = Ws(e, t)) || delete e[Na(Gs(t))]
	},
	Js = Array.prototype.splice;
var Ks = function(e, t) {
	for (var r = e ? t.length : 0, n = r - 1; r--;) {
		var o = t[r];
		if (r == n || o !== i) {
			var i = o;
			to(o) ? Js.call(e, o, 1) : Ys(e, o)
		}
	}
	return e
};
var Vs, Xs, Zs, eu, tu, ru, nu = function(e, t) {
		var r = [];
		if (!e || !e.length) return r;
		var n = -1,
			o = [],
			i = e.length;
		for (t = Ha(t); ++n < i;) {
			var a = e[n];
			t(a, n, e) && (r.push(a), o.push(n))
		}
		return Ks(e, o), r
	},
	ou = {
		q: [],
		isRepeat: function(e) {
			var t = e.data,
				r = JSON.parse(t),
				n = r.group.groupId || r.groupId,
				o = r.serverMsgId || 0,
				i = r.clientMsgId,
				a = ou.q,
				s = Jr().valueOf(),
				u = !1,
				c = a.filter((function(e) {
					var t = e.saveTime,
						r = e.messagebody,
						a = r.group && r.group.groupId || r.groupId,
						c = r.serverMsgId || 0,
						f = r.clientMsgId;
					return o != c && i != f || n != a || (u = !0), !(s - t > 6e4)
				}));
			return u || c.push({
				messagebody: r,
				saveTime: Jr().valueOf()
			}), ou.q = c, u
		}
	},
	iu = function() {
		function t() {
			this.version = "", this._loginKeeptime = 1e4, this.loginkeepQueue = [], this.loginkeepQueueTimerTimes = 3e4,
				this.CompensateTag = !1, this.sendMessageQueue = [], this.typeSendMsgQueue = [], this.sendMsgDelayTime =
				20, this.retryTimes = 0, this.retryTimesMax = 50, this.initSuccess = !1, this.enableReconnect = !0
		}
		return t.prototype.init = function() {
			this.enableReconnect = !0, this.retryTimesMax = As.getState().core.retryTimesMax, clearTimeout(this
				._reTryConnectTimer), this._wsCoreInit()
		}, t.prototype._wsCoreInit = function() {
			Zr(Cr["main-_wsCoreInit"]), this._wsListener(), Bs.init()
		}, t.prototype._wsListener = function() {
			var e = this;
			s.unsubscribe(zs), s.subscribe(zs, (function() {
				s.publish("jest.main.info", e)
			})), s.unsubscribe(Ds), s.subscribe(Ds, (function(t, r) {
				e._onmessage(t, r)
			})), s.unsubscribe(Ns), s.subscribe(Ns, (function(t, r) {
				e._sendMessage(t, r)
			})), s.unsubscribe(Rs), s.subscribe(Rs, (function(t, r) {
				e._onError(t, r)
			})), s.unsubscribe(Ps), s.subscribe(Ps, (function(t, r) {
				e._onClose(t, r)
			})), s.unsubscribe($s), s.subscribe($s, (function(t, r) {
				e._sendSpecialMessage(r)
			})), Zr(Cr["main-_addEventListener"])
		}, t.prototype._onError = function(e, t) {
			s.publish(is, t)
		}, t.prototype._onClose = function(e, t) {
			Zr(Cr["main-_onClose"], {
					data: t
				}), this.initSuccess = !1, s.publish(as, t), Kr.warn("main _onClose", Jr().format("HH:MM:ss"), t)(),
				this._reTryConnect()
		}, t.prototype._sendMessage = function(e, t) {
			if (this.sendMessageQueue.push(Object.assign({}, t)), t.group.groupId) {
				var r = {
						createTime: t.createTime,
						clientMsgId: t.clientMsgId,
						type: t.messageInfo.type,
						body: JSON.stringify(t.messageInfo.body),
						groupId: t.group.groupId,
						sender: {
							userId: t.owner.userId
						},
						feature: t.feature,
						appType: t.appType
					},
					n = {
						version: this.version,
						eventType: u.SendMsg,
						data: r
					};
				ou.q.push({
					messagebody: n.data,
					saveTime: Jr().valueOf()
				}), s.publish(Cs, n)
			} else Zr(Cr["main-_sendMessageError"], t)
		}, t.prototype._logout = function() {
			var e = {
				eventType: u.LoginOut,
				version: this.version,
				data: ""
			};
			s.publish(Cs, e)
		}, t.prototype._AckMessage = function(e) {
			var t = JSON.parse(e.data),
				r = {
					serverMsgId: t.serverMsgId,
					groupId: t.group.groupId
				},
				n = {
					eventType: u.ACK,
					version: e.version,
					data: r
				};
			s.publish(Cs, n)
		}, t.prototype._sendSpecialMessage = function(e) {
			var t = {
				eventType: e.eventType,
				version: this.version,
				data: e.data
			};
			s.publish(Cs, t)
		}, t.prototype._onmessage = function(t, r) {
			var n = r.data,
				o = JSON.parse(n);
			if (Kr.log("_onmessage", o, o.eventType)(), o.eventType !== u.LoginKeep)
				if (o.eventType !== u.REV)
					if (o.eventType !== u.ReceiveMsg) {
						if (o.eventType === u.LOGIN && !0 === o.status) return this.initSuccess = !0, this
							.retryTimes = 0, this.version = o.version, void this._onLoginSuccess(o);
						if (o.eventType === u.LoginOut) return this.enableReconnect = !1, s.publish(ls, o),
							void this._closeWs();
						if (o.eventType === u.CustomEvent) {
							var i = JSON.parse(o.data);
							if (i.eventType === c.USER_SPEAK_STATUS) return void s.publish(hs, i.data);
							if (i.eventType === c.NotifyOtherClient) return void s.publish(vs, i.data);
							s.publish(gs, i)
						}
						if (o.eventType !== u.ReadCompensate)
							if (o.eventType !== u.SendMsg);
							else {
								console.log(JSON.parse(o.data));
								var a = e(e({}, o), {
									data: JSON.parse(o.data)
								});
								s.publish(ys, a)
							}
						else {
							var f = JSON.parse(o.data);
							s.publish(ms, f.groupList)
						}
					} else {
						this._AckMessage(o);
						var l = yn(JSON.parse(o.data));
						if (ou.isRepeat(o) && l.messageInfo.type !== u.Withdraw && l.messageInfo.type !== u
							.TransferTreatment) return;
						s.publish(ss, l)
					}
			else this._onRev(o);
			else this._onRevLoginkeep(o)
		}, t.prototype._reTryConnect = function() {
			this._retry()
		}, t.prototype._retry = function() {
			var e = this;
			clearTimeout(this._reTryConnectTimer), this._reTryConnectTimer = setTimeout((function() {
				if (!1 !== e.enableReconnect)
					if (!0 !== e.initSuccess) {
						if (e.retryTimes > e.retryTimesMax) return clearInterval(e._reTryConnectTimer),
							void s.publish(fs);
						Kr.warn("reconnect " + e.retryTimes + " times,be left" + (e.retryTimesMax - e
							.retryTimes) + " times ")(), Zr(Cr["main-__reTryConnectTimer"], {
							retryTimes: e.retryTimes
						}), e.retryTimes += 1, e._wsCoreInit()
					} else clearInterval(e._reTryConnectTimer);
				else clearInterval(e._reTryConnectTimer)
			}), 5e3)
		}, t.prototype._onRevLoginkeep = function(e) {
			Zr(Cr["main-_onRevLoginkeep"], e), this.loginkeepQueue.push(e)
		}, t.prototype._onRev = function(e) {
			Zr(Cr["main-_onRev"], e), this.typeSendMsgQueue.push(e), this._watchMessage()
		}, t.prototype._loginKeep = function() {
			var e = this;
			clearTimeout(this.loginkeepTimer), this.loginkeepTimer = setTimeout((function() {
				e._loginKeep()
			}), this._loginKeeptime), this.CompensateTag && (this._sendCompensate(), this.CompensateTag = !1);
			var t = {
				version: this.version,
				eventType: u.LoginKeep
			};
			Zr(Cr["main-_loginKeep"], t), s.publish(Cs, t)
		}, t.prototype._sendCompensate = function() {
			s.publish("jest.main.CompensateTag");
			var e = {
				version: this.version,
				eventType: u.Compensate
			};
			if (As.getState().global.db) {
				var t = As.getState().data,
					r = t.groupId,
					n = t.historyMessageList,
					o = -1;
				r > 0 && n.length > 0 && (n.forEach((function(e) {
					e.serverMsgId && (o = e.serverMsgId)
				})), e.data = {
					groupId: r,
					lastMsgId: o
				})
			}
			Zr(Cr["main-compensateTag"], e), s.publish(Cs, e), Kr.log("查询消息补偿", e)()
		}, t.prototype._onLoginSuccess = function(e) {
			this._sendCompensate(), this._watchLoginKeep(), this._loginKeep(), s.publish(os, e), this
				._sendMessageWatch()
		}, t.prototype._sendMessageWatch = function() {
			var e = this;
			clearTimeout(this.sendMessageTimeoutTimer), Zr(Cr["main-_sendMessageWatch"]), this
				.sendMessageTimeoutTimer = setTimeout((function() {
					Kr.log("message sending timer running")();
					var t = e.sendMessageQueue,
						r = Jr();
					nu(t, (function(t) {
						var n = t.createTime,
							o = r.diff(Jr(n), "second");
						return e.initSuccess ? o > e.sendMsgDelayTime ? (Zr(Cr[
							"main-_sendMessageTimeOut"], {
							message: t,
							errorMessage: "消息超时"
						}), s.publish(us, {
							message: t,
							errorMessage: "消息超时"
						}), !0) : void 0 : (Zr(Cr["main-_sendMessageTimeOut"], {
							message: t,
							errorMessage: "与服务器断开"
						}), s.publish(us, {
							message: t,
							errorMessage: "与服务器断开"
						}), !0)
					})), e._sendMessageWatch()
				}), 1e4)
		}, t.prototype._watchMessage = function() {
			var e = this.typeSendMsgQueue,
				t = this.sendMessageQueue;
			nu(t, (function(t) {
				var r = t.clientMsgId,
					n = !1;
				return nu(e, (function(e) {
					var o = JSON.parse(e.data);
					if (r === o.clientMsgId) return Zr(Cr["main-_watchMessage"], {
						v: t,
						el: e
					}), n = !0, e.status || s.publish(us, {
						message: t,
						errorMessage: e.errorMessage
					}), e.status && (t.createTime = o.createTime, t.serverMsgId = o
						.serverMsgId, s.publish(cs, {
							message: t
						})), !0
				})), n
			}))
		}, t.prototype._closeWs = function() {
			Zr(Cr["main-_closeWs"]), this._clearTimer(), As.dispatch({
				type: "core/close-ws"
			})
		}, t.prototype._watchLoginKeep = function() {
			var e = this;
			this.loginkeepQueue = [], clearTimeout(this.loginkeepQueueTimer), this.loginkeepQueueTimer = setTimeout(
				(function() {
					if (Zr(Cr["main-_watchLoginKeep"], {
							loginkeepQueue: e.loginkeepQueue.length
						}), Kr.log("_watchLoginKeep", e.loginkeepQueue.length)(), e.loginkeepQueue.length <
						1) return e._closeWs(), void s.publish("jest.main.loginkeepQueueLess1");
					e.loginkeepQueue.length < 2 && (e.CompensateTag = !0), e._watchLoginKeep()
				}), this.loginkeepQueueTimerTimes)
		}, t.prototype._clearTimer = function() {
			clearTimeout(this.loginkeepQueueTimer), clearTimeout(this.loginkeepTimer)
		}, t.prototype._destory = function() {
			this._clearTimer(), this.enableReconnect = !1, Kr.log("user _destory")(), As.dispatch({
				type: "core/close-ws"
			})
		}, t
	}(),
	au = new iu,
	su = "drugstore.",
	uu = su + "question",
	cu = su + "endQuestion",
	fu = su + "changeGroup",
	lu = su + "findDoctorError",
	du = su + "queueDone",
	pu = su + "queueMessage",
	hu = su + "queueCancel",
	gu = su + "queueTimeOut",
	mu = su + "findDoctorSuccess",
	vu = {
		QA: "https://static.foryor-in.com/dms/44b9aa6303dc9e68e1e3f1e80813dd27.json",
		PRE: "https://static.foryor-in.com/dms/af204e1f3c4d5c584de9e7f331f975be.json",
		ONLINE: "https://static.foryor-in.com/dms/38d155c82ddf38bc42aac4e8ce689a95.json",
		TR: "https://static.foryor-in.com/dms/38d155c82ddf38bc42aac4e8ce689a95.json",
		TRQA: "https://static.foryor-in.com/dms/38d155c82ddf38bc42aac4e8ce689a95.json"
	},
	yu = function() {
		return t(this, void 0, void 0, (function() {
			var e, t;
			return r(this, (function(r) {
				switch (r.label) {
					case 0:
						return e = As.getState().global.runtime.apigw, t = vu[e], [4, rn.get(
							t, {
								withCredentials: !1
							})];
					case 1:
						return [2, r.sent().data]
				}
			}))
		}))
	},
	bu = function(e) {
		return t(this, void 0, void 0, (function() {
			var t, n;
			return r(this, (function(r) {
				switch (r.label) {
					case 0:
						return t = As.getState().global.api, n = t.getAdvisoryInfo, [4, rn.post(
							n, e, {
								timeout: 5e3
							})];
					case 1:
						return [2, r.sent().data]
				}
			}))
		}))
	},
	_u = function(e) {
		return t(this, void 0, void 0, (function() {
			var t, n;
			return r(this, (function(r) {
				switch (r.label) {
					case 0:
						return t = As.getState().global.api, n = t.getWaitConsultationInfo, [4,
							rn.get(n, {
								params: e
							})
						];
					case 1:
						return [2, r.sent().data]
				}
			}))
		}))
	},
	wu = function(e) {
		return t(this, void 0, void 0, (function() {
			var t, n;
			return r(this, (function(r) {
				switch (r.label) {
					case 0:
						return t = As.getState().global.api, n = t.getQuestion, [4, rn.post(n,
							e)];
					case 1:
						return [2, r.sent().data]
				}
			}))
		}))
	},
	Su = function(e) {
		return t(this, void 0, void 0, (function() {
			var t, n;
			return r(this, (function(r) {
				switch (r.label) {
					case 0:
						return t = As.getState().global.api, n = t.answerQuestion, [4, rn.post(
							n, e)];
					case 1:
						return [2, r.sent().data]
				}
			}))
		}))
	};
! function(e) {
	e[e.INIT = 0] = "INIT", e[e.DONE = 1] = "DONE", e[e.CANCEL = 2] = "CANCEL", e[e.TIMEOUTCANCEL = 3] = "TIMEOUTCANCEL"
}(Vs || (Vs = {})),
function(e) {
	e.UNSTART = "UNSTART", e.FIND_DOCTOR = "FIND_DOCTOR", e.START = "START", e.CANCEL = "CANCEL", e.REJECT = "REJECT", e
		.EXPIRE = "EXPIRE", e.END = "END"
}(Xs || (Xs = {})),
function(e) {
	e.ADVISORY = "ADVISORY", e.PRESCRIPTION = "PRESCRIPTION"
}(Zs || (Zs = {})),
function(e) {
	e.SINGLE_CHOICE = "SINGLE_CHOICE", e.MULTIPLE_CHOICE = "MULTIPLE_CHOICE", e.MULTIPLE_CHOICE_INPUT =
		"MULTIPLE_CHOICE_INPUT"
}(eu || (eu = {})),
function(e) {
	e.advisoryFinish = "advisoryFinish", e.advisoryEnd = "advisoryEnd", e.apiError = "apiError"
}(tu || (tu = {})),
function(e) {
	e.apierror = "apierror", e.REJECT = "REJECT", e.AdvisoryCancel = "AdvisoryCancel", e.EXPIRE = "EXPIRE", e
		.FINDDOCTORERROR = "FINDDOCTORERROR", e.advisoryFinish = "advisoryFinish"
}(ru || (ru = {}));
var Iu = bu,
	Tu = wu,
	Mu = Su,
	ku = _u,
	xu = yu,
	Eu = Zs.ADVISORY,
	Ou = Zs.PRESCRIPTION,
	ju = tu.advisoryEnd,
	Au = tu.advisoryFinish,
	Cu = tu.apiError,
	Lu = Vs.DONE,
	Du = Vs.TIMEOUTCANCEL,
	Nu = Vs.CANCEL,
	Ru = Xs.UNSTART,
	qu = Xs.START,
	Pu = Xs.END,
	$u = Xs.EXPIRE,
	zu = Xs.REJECT,
	Qu = Xs.FIND_DOCTOR,
	Uu = Xs.CANCEL,
	Fu = function() {
		function n(e) {
			this.questionMessage = {
					advisoryId: null,
					advisoryStatus: null,
					answers: null,
					choiceNumber: null,
					isEndQuestion: null,
					questionCode: null,
					questionFromSource: null,
					questionText: null,
					questionType: null
				}, this.findDoctorRequestConfig = {
					timer: 10,
					times: 9999
				}, this.queueRequestConfig = {
					queueTimer: 10,
					queueTimes: 9999
				}, Zr(Cr["guideDiagnosis.common"], {
					text: "初始化导诊",
					data: e
				}), Kr.log("初始化导诊", e)(), this.advisoryStatus = Ru, this.fromSource = Zs.ADVISORY, this
				.findDoctorTimes = 1, this.waitQueueTimes = 1, this.findDoctorError = null, this.waitQueueMessage = {},
				this.Listener = {
					__proto: s,
					subscribe: function(e, t) {
						s.unsubscribe(e), s.subscribe(e, t)
					},
					publish: function(e, t) {
						s.publish(e, t)
					}
				}, this.userInitMessage = e, this.advisoryId = e.advisoryId
		}
		return n.prototype.INIT = function() {
			return t(this, void 0, void 0, (function() {
				return r(this, (function(e) {
					switch (e.label) {
						case 0:
							return e.trys.push([0, 2, , 3]), [4, this.fetchDMS()];
						case 1:
							return e.sent(), Zr(Cr["guideDiagnosis.common"], {
								text: "dms获取成功"
							}), [3, 3];
						case 2:
							return e.sent(), Zr(Cr["guideDiagnosis.common"], {
								text: "dms超时"
							}), Kr.error("DMS超时走默认逻辑")(), [3, 3];
						case 3:
							return [4, this._getAdvisoryInfo()];
						case 4:
							return e.sent(), [2]
					}
				}))
			}))
		}, n.prototype.changeAdvId = function(e) {
			this.advisoryId = e
		}, n.prototype.fetchDMS = function() {
			return t(this, void 0, void 0, (function() {
				var e;
				return r(this, (function(t) {
					switch (t.label) {
						case 0:
							return [4, xu()];
						case 1:
							return e = t.sent(), this.findDoctorRequestConfig = {
								timer: parseInt(e.timer),
								times: parseInt(e.times)
							}, this.queueRequestConfig = {
								queueTimer: parseInt(e.queueTimer),
								queueTimes: parseInt(e.queueTimes)
							}, [2]
					}
				}))
			}))
		}, n.prototype._getAdvisoryInfo = function() {
			return t(this, void 0, void 0, (function() {
				var e, t;
				return r(this, (function(r) {
					switch (r.label) {
						case 0:
							return [4, Iu({
								advisoryId: this.advisoryId,
								fromSource: Zs.ADVISORY
							})];
						case 1:
							return e = r.sent(), Zr(Cr["guideDiagnosis.common"], {
								text: "_getAdvisoryInfo",
								data: e
							}), e.ok ? (t = e.result, this.advisoryStatus = t
								.advisoryStatus, this.fromSource = t.fromSource, this
								._resolveAdvisory(t), [2]) : (this._endQuestion({
								type: tu.apiError,
								text: e.error.message,
								endType: ru.apierror
							}), [2])
					}
				}))
			}))
		}, n.prototype._resolveAdvisory = function(n) {
			return t(this, void 0, void 0, (function() {
				var t, o;
				return r(this, (function(r) {
					switch (r.label) {
						case 0:
							return Zr(Cr["guideDiagnosis.common"], {
								text: "_resolveAdvisory",
								data: this.advisoryStatus
							}), this.advisoryStatus == Qu ? (this._changeDoctor(), [
								2
							]) : (this.advisoryStatus == Uu && (this.Listener.publish(
								fu, e(e({}, n), {
									group: {
										groupId: n.groupId
									}
								})), this._endQuestion({
								type: ju,
								text: "当前导诊单已取消",
								endType: ru.AdvisoryCancel
							})), this.advisoryStatus == zu && (this.Listener
								.publish(fu, e(e({}, n), {
									group: {
										groupId: n.groupId
									}
								})), this._endQuestion({
									type: ju,
									text: "咨询单被拒绝",
									endType: ru.REJECT
								})), this.advisoryStatus == $u && (this
								._endQuestion({
									type: ju,
									text: "咨询单超时",
									endType: ru.EXPIRE
								}), this.Listener.publish(fu, e(e({}, n), {
									group: {
										groupId: n.groupId
									}
								}))), this.advisoryStatus != qu ? [3, 2] : (this
								.Listener.publish(fu, e(e({}, n), {
									group: {
										groupId: n.groupId
									}
								})), [4, this._getQuestions()]));
						case 1:
							return (t = r.sent()).ok || this._endQuestion({
								type: Cu,
								text: t.error.message,
								endType: ru.apierror
							}), o = t.result, [2, this._startQuestions(o)];
						case 2:
							return this.advisoryStatus == Pu && (this.Listener.publish(fu,
								e(e({}, n), {
									group: {
										groupId: n.groupId
									}
								})), this._changeDoctor()), [2]
					}
				}))
			}))
		}, n.prototype.retry_changeDoctor = function() {
			this.findDoctorTimes = 0, this._changeDoctor()
		}, n.prototype._changeDoctor = function() {
			return t(this, void 0, void 0, (function() {
				var t, n, o, i, a, s, u, c, f, l, d = this;
				return r(this, (function(r) {
					switch (r.label) {
						case 0:
							if (this.fromSource = Ou, t = 1e3 * this.findDoctorRequestConfig
								.timer || 1e4, n = this.findDoctorRequestConfig.times || 12,
								Zr(Cr["guideDiagnosis.common"], {
									text: "_changeDoctor",
									data: {
										findDoctorTimes: this.findDoctorTimes
									}
								}), this.findDoctorTimes >= n) return clearTimeout(this
									.findDoctorRequestConfig.timeout), this
								._emitDoctorError(), [2];
							r.label = 1;
						case 1:
							return r.trys.push([1, 6, , 7]), [4, Iu({
								advisoryId: this.advisoryId,
								fromSource: Ou
							})];
						case 2:
							return o = r.sent(), this.findDoctorRequestConfig.timeout =
								setTimeout((function() {
									d.findDoctorTimes += 1, d._changeDoctor()
								}), t), a = (i = o).result, s = i.ok, Zr(Cr[
									"guideDiagnosis.common"], {
									text: "_changeDoctor_api",
									data: {
										ConsultInfo: a,
										ok: s
									}
								}), s ? (clearTimeout(this.findDoctorRequestConfig.timeout),
									this.Listener.publish(mu, {
										ConsultInfo: a
									}), this.Listener.publish(fu, e(e({}, a), {
										group: {
											groupId: a.groupId
										}
									})), (u = a.lineId) ? (this._queueHandler(u), [3, 5]) :
									[3, 3]) : [3, 5];
						case 3:
							return [4, this._getQuestions({
								advisoryId: this.advisoryId,
								questionFromSource: Ou
							})];
						case 4:
							return c = r.sent(), f = c.result, setTimeout((function() {
								d._startQuestions(f)
							}), 0), this.Listener.publish(du, {
								status: 1
							}), [2];
						case 5:
							return s || ("TIMEOUT" != (l = o.error).code && "-99" != l
								.code && (Kr.error("查找医生异常", l)(), clearTimeout(this
										.findDoctorRequestConfig.timeout), this
									._endQuestion({
										type: ju,
										text: l.message + " (" + l.code + ")",
										endType: ru.FINDDOCTORERROR
									})), this.findDoctorError = o), [3, 7];
						case 6:
							return r.sent(), this.findDoctorRequestConfig.timeout =
								setTimeout((function() {
									d.findDoctorTimes += 1, d._changeDoctor()
								}), t), [3, 7];
						case 7:
							return [2]
					}
				}))
			}))
		}, n.prototype._queueHandler = function(n) {
			return t(this, void 0, void 0, (function() {
				var t, o, i, a, s, u, c, f, l, d, p = this;
				return r(this, (function(r) {
					switch (r.label) {
						case 0:
							if (t = this.queueRequestConfig, o = t.queueTimer, i = t
								.queueTimes, a = 1e3 * o || 1e4, s = i || 10, this
								.waitQueueTimes >= s) return clearTimeout(this
									.queueRequestConfig.timeout), this
								._emitDoctorError(), [2];
							r.label = 1;
						case 1:
							return r.trys.push([1, 3, , 4]), [4, ku({
								consultationId: n
							})];
						case 2:
							return u = r.sent(), clearTimeout(this.queueRequestConfig
								.timeout), this.queueRequestConfig.timeout = setTimeout(
								(function() {
									p.waitQueueTimes += 1, p._queueHandler(n)
								}), a), c = function() {
								clearTimeout(p.waitQueueMessage.timeout), p
									.waitQueueMessage.timeout = setTimeout(c, 1e3);
								var t = function() {
										var e = p.waitQueueMessage.startTime;
										if (!e) return 0;
										var t = Date.now() - e;
										return t < 0 ? 0 : t
									}(),
									r = Jr(t).format("mm:ss"),
									n = p.waitQueueMessage;
								n.status !== Lu ? n.status !== Nu ? n.status !== Du ? p
									.Listener.publish(pu, e(e({}, n), {
										waitTime: r
									})) : p._queueTimeOut() : p._queueCancel() : p
									._queueDone()
							}, this.waitQueueMessage.timeout = setTimeout(c, 0), l = (
								f = u).result, !0 === f.ok && (this.waitQueueMessage =
								e({}, l)), [3, 4];
						case 3:
							return d = r.sent(), this._clearQueueTimer(), Kr.error("排队异常",
								d)(), this.queueRequestConfig.timeout = setTimeout((
								function() {
									p.waitQueueTimes += 1, p._queueHandler(n)
								}), a), [3, 4];
						case 4:
							return [2]
					}
				}))
			}))
		}, n.prototype._queueDone = function() {
			this._clearQueueTimer(), this.Listener.publish(du, e({}, this.waitQueueMessage))
		}, n.prototype._queueCancel = function() {
			this._clearQueueTimer(), this.Listener.publish(hu, e({}, this.waitQueueMessage))
		}, n.prototype._queueTimeOut = function() {
			this._clearQueueTimer(), this.Listener.publish(gu, e({}, this.waitQueueMessage))
		}, n.prototype._clearQueueTimer = function() {
			clearTimeout(this.queueRequestConfig.timeout), clearTimeout(this.waitQueueMessage.timeout)
		}, n.prototype._emitDoctorError = function() {
			this.Listener.publish(lu, this.findDoctorError)
		}, n.prototype._startQuestions = function(e) {
			this.questionMessage = e;
			var t = e.advisoryStatus,
				r = this.fromSource;
			if (Zr(Cr["guideDiagnosis.common"], {
					text: "_startQuestions",
					data: {
						fromSource: r,
						status: t
					}
				}), Zr(Cr["guideDiagnosis.common"], {
					text: "questionMessage",
					data: e
				}), r == Eu) {
				if (t == Pu && e.isEndQuestion) return this._changeDoctor();
				if (t != zu && t != $u && t != Uu) return this.Listener.publish(uu, e);
				t == zu && this._endQuestion({
					type: ju,
					text: "当前导诊单被拒绝",
					endType: ru.REJECT
				}), t == $u && this._endQuestion({
					type: ju,
					text: "当前导诊单已超时",
					endType: ru.EXPIRE
				}), t == Uu && this._endQuestion({
					type: ju,
					text: "当前导诊单已取消",
					endType: ru.AdvisoryCancel
				})
			}
			if (r == Ou) return e.isEndQuestion ? this._endQuestion({
				type: Au,
				text: "当前导诊已完成",
				endType: ru.advisoryFinish
			}) : this.Listener.publish(uu, e)
		}, n.prototype.answerQs = function(n) {
			return t(this, void 0, void 0, (function() {
				var t, o, i, a, s = this;
				return r(this, (function(r) {
					switch (r.label) {
						case 0:
							return t = this.questionMessage, o = e(e({}, n), {
								questionCode: n.questionCode || t.questionCode,
								advisoryId: this.advisoryId,
								questionFromSource: n.questionFromSource || t
									.questionFromSource
							}), Zr(Cr["guideDiagnosis.common"], {
								text: "answerQs",
								data: o
							}), [4, Mu(o)];
						case 1:
							return i = r.sent(), Zr(Cr["guideDiagnosis.common"], {
								text: "answerQs_res",
								data: i
							}), i.ok ? this.fromSource == Ou && i.isEndQuestion ? [2,
								this._endQuestion({
									type: Au,
									text: "当前导诊已完成",
									endType: ru.advisoryFinish
								})
							] : (a = i.result, setTimeout((function() {
								s._startQuestions(a)
							}), 0), [2, !0]) : (this._endQuestion({
								type: Cu,
								text: i.error.message,
								endType: ru.apierror
							}), [2, !1])
					}
				}))
			}))
		}, n.prototype._getQuestions = function(e) {
			return t(this, void 0, void 0, (function() {
				return r(this, (function(t) {
					switch (t.label) {
						case 0:
							return e ? [4, Tu(e)] : [3, 2];
						case 1:
							return [2, t.sent()];
						case 2:
							return [4, Tu({
								advisoryId: this.advisoryId,
								questionFromSource: this.fromSource
							})];
						case 3:
							return [2, t.sent()]
					}
				}))
			}))
		}, n.prototype._endQuestion = function(e) {
			var t = e.type,
				r = e.text,
				n = e.endType;
			this.Listener.publish(cu, {
				type: t,
				text: r,
				endType: n
			})
		}, n
	}(),
	Bu = "onGetHistory";

function Gu() {
	var e = {
		"align-content": !1,
		"align-items": !1,
		"align-self": !1,
		"alignment-adjust": !1,
		"alignment-baseline": !1,
		all: !1,
		"anchor-point": !1,
		animation: !1,
		"animation-delay": !1,
		"animation-direction": !1,
		"animation-duration": !1,
		"animation-fill-mode": !1,
		"animation-iteration-count": !1,
		"animation-name": !1,
		"animation-play-state": !1,
		"animation-timing-function": !1,
		azimuth: !1,
		"backface-visibility": !1,
		background: !0,
		"background-attachment": !0,
		"background-clip": !0,
		"background-color": !0,
		"background-image": !0,
		"background-origin": !0,
		"background-position": !0,
		"background-repeat": !0,
		"background-size": !0,
		"baseline-shift": !1,
		binding: !1,
		bleed: !1,
		"bookmark-label": !1,
		"bookmark-level": !1,
		"bookmark-state": !1,
		border: !0,
		"border-bottom": !0,
		"border-bottom-color": !0,
		"border-bottom-left-radius": !0,
		"border-bottom-right-radius": !0,
		"border-bottom-style": !0,
		"border-bottom-width": !0,
		"border-collapse": !0,
		"border-color": !0,
		"border-image": !0,
		"border-image-outset": !0,
		"border-image-repeat": !0,
		"border-image-slice": !0,
		"border-image-source": !0,
		"border-image-width": !0,
		"border-left": !0,
		"border-left-color": !0,
		"border-left-style": !0,
		"border-left-width": !0,
		"border-radius": !0,
		"border-right": !0,
		"border-right-color": !0,
		"border-right-style": !0,
		"border-right-width": !0,
		"border-spacing": !0,
		"border-style": !0,
		"border-top": !0,
		"border-top-color": !0,
		"border-top-left-radius": !0,
		"border-top-right-radius": !0,
		"border-top-style": !0,
		"border-top-width": !0,
		"border-width": !0,
		bottom: !1,
		"box-decoration-break": !0,
		"box-shadow": !0,
		"box-sizing": !0,
		"box-snap": !0,
		"box-suppress": !0,
		"break-after": !0,
		"break-before": !0,
		"break-inside": !0,
		"caption-side": !1,
		chains: !1,
		clear: !0,
		clip: !1,
		"clip-path": !1,
		"clip-rule": !1,
		color: !0,
		"color-interpolation-filters": !0,
		"column-count": !1,
		"column-fill": !1,
		"column-gap": !1,
		"column-rule": !1,
		"column-rule-color": !1,
		"column-rule-style": !1,
		"column-rule-width": !1,
		"column-span": !1,
		"column-width": !1,
		columns: !1,
		contain: !1,
		content: !1,
		"counter-increment": !1,
		"counter-reset": !1,
		"counter-set": !1,
		crop: !1,
		cue: !1,
		"cue-after": !1,
		"cue-before": !1,
		cursor: !1,
		direction: !1,
		display: !0,
		"display-inside": !0,
		"display-list": !0,
		"display-outside": !0,
		"dominant-baseline": !1,
		elevation: !1,
		"empty-cells": !1,
		filter: !1,
		flex: !1,
		"flex-basis": !1,
		"flex-direction": !1,
		"flex-flow": !1,
		"flex-grow": !1,
		"flex-shrink": !1,
		"flex-wrap": !1,
		float: !1,
		"float-offset": !1,
		"flood-color": !1,
		"flood-opacity": !1,
		"flow-from": !1,
		"flow-into": !1,
		font: !0,
		"font-family": !0,
		"font-feature-settings": !0,
		"font-kerning": !0,
		"font-language-override": !0,
		"font-size": !0,
		"font-size-adjust": !0,
		"font-stretch": !0,
		"font-style": !0,
		"font-synthesis": !0,
		"font-variant": !0,
		"font-variant-alternates": !0,
		"font-variant-caps": !0,
		"font-variant-east-asian": !0,
		"font-variant-ligatures": !0,
		"font-variant-numeric": !0,
		"font-variant-position": !0,
		"font-weight": !0,
		grid: !1,
		"grid-area": !1,
		"grid-auto-columns": !1,
		"grid-auto-flow": !1,
		"grid-auto-rows": !1,
		"grid-column": !1,
		"grid-column-end": !1,
		"grid-column-start": !1,
		"grid-row": !1,
		"grid-row-end": !1,
		"grid-row-start": !1,
		"grid-template": !1,
		"grid-template-areas": !1,
		"grid-template-columns": !1,
		"grid-template-rows": !1,
		"hanging-punctuation": !1,
		height: !0,
		hyphens: !1,
		icon: !1,
		"image-orientation": !1,
		"image-resolution": !1,
		"ime-mode": !1,
		"initial-letters": !1,
		"inline-box-align": !1,
		"justify-content": !1,
		"justify-items": !1,
		"justify-self": !1,
		left: !1,
		"letter-spacing": !0,
		"lighting-color": !0,
		"line-box-contain": !1,
		"line-break": !1,
		"line-grid": !1,
		"line-height": !1,
		"line-snap": !1,
		"line-stacking": !1,
		"line-stacking-ruby": !1,
		"line-stacking-shift": !1,
		"line-stacking-strategy": !1,
		"list-style": !0,
		"list-style-image": !0,
		"list-style-position": !0,
		"list-style-type": !0,
		margin: !0,
		"margin-bottom": !0,
		"margin-left": !0,
		"margin-right": !0,
		"margin-top": !0,
		"marker-offset": !1,
		"marker-side": !1,
		marks: !1,
		mask: !1,
		"mask-box": !1,
		"mask-box-outset": !1,
		"mask-box-repeat": !1,
		"mask-box-slice": !1,
		"mask-box-source": !1,
		"mask-box-width": !1,
		"mask-clip": !1,
		"mask-image": !1,
		"mask-origin": !1,
		"mask-position": !1,
		"mask-repeat": !1,
		"mask-size": !1,
		"mask-source-type": !1,
		"mask-type": !1,
		"max-height": !0,
		"max-lines": !1,
		"max-width": !0,
		"min-height": !0,
		"min-width": !0,
		"move-to": !1,
		"nav-down": !1,
		"nav-index": !1,
		"nav-left": !1,
		"nav-right": !1,
		"nav-up": !1,
		"object-fit": !1,
		"object-position": !1,
		opacity: !1,
		order: !1,
		orphans: !1,
		outline: !1,
		"outline-color": !1,
		"outline-offset": !1,
		"outline-style": !1,
		"outline-width": !1,
		overflow: !1,
		"overflow-wrap": !1,
		"overflow-x": !1,
		"overflow-y": !1,
		padding: !0,
		"padding-bottom": !0,
		"padding-left": !0,
		"padding-right": !0,
		"padding-top": !0,
		page: !1,
		"page-break-after": !1,
		"page-break-before": !1,
		"page-break-inside": !1,
		"page-policy": !1,
		pause: !1,
		"pause-after": !1,
		"pause-before": !1,
		perspective: !1,
		"perspective-origin": !1,
		pitch: !1,
		"pitch-range": !1,
		"play-during": !1,
		position: !1,
		"presentation-level": !1,
		quotes: !1,
		"region-fragment": !1,
		resize: !1,
		rest: !1,
		"rest-after": !1,
		"rest-before": !1,
		richness: !1,
		right: !1,
		rotation: !1,
		"rotation-point": !1,
		"ruby-align": !1,
		"ruby-merge": !1,
		"ruby-position": !1,
		"shape-image-threshold": !1,
		"shape-outside": !1,
		"shape-margin": !1,
		size: !1,
		speak: !1,
		"speak-as": !1,
		"speak-header": !1,
		"speak-numeral": !1,
		"speak-punctuation": !1,
		"speech-rate": !1,
		stress: !1,
		"string-set": !1,
		"tab-size": !1,
		"table-layout": !1,
		"text-align": !0,
		"text-align-last": !0,
		"text-combine-upright": !0,
		"text-decoration": !0,
		"text-decoration-color": !0,
		"text-decoration-line": !0,
		"text-decoration-skip": !0,
		"text-decoration-style": !0,
		"text-emphasis": !0,
		"text-emphasis-color": !0,
		"text-emphasis-position": !0,
		"text-emphasis-style": !0,
		"text-height": !0,
		"text-indent": !0,
		"text-justify": !0,
		"text-orientation": !0,
		"text-overflow": !0,
		"text-shadow": !0,
		"text-space-collapse": !0,
		"text-transform": !0,
		"text-underline-position": !0,
		"text-wrap": !0,
		top: !1,
		transform: !1,
		"transform-origin": !1,
		"transform-style": !1,
		transition: !1,
		"transition-delay": !1,
		"transition-duration": !1,
		"transition-property": !1,
		"transition-timing-function": !1,
		"unicode-bidi": !1,
		"vertical-align": !1,
		visibility: !1,
		"voice-balance": !1,
		"voice-duration": !1,
		"voice-family": !1,
		"voice-pitch": !1,
		"voice-range": !1,
		"voice-rate": !1,
		"voice-stress": !1,
		"voice-volume": !1,
		volume: !1,
		"white-space": !1,
		widows: !1,
		width: !0,
		"will-change": !1,
		"word-break": !0,
		"word-spacing": !0,
		"word-wrap": !0,
		"wrap-flow": !1,
		"wrap-through": !1,
		"writing-mode": !1,
		"z-index": !1
	};
	return e
}
var Hu = /javascript\s*\:/gim;
var Wu = {
		whiteList: Gu(),
		getDefaultWhiteList: Gu,
		onAttr: function(e, t, r) {},
		onIgnoreAttr: function(e, t, r) {},
		safeAttrValue: function(e, t) {
			return Hu.test(t) ? "" : t
		}
	},
	Yu = function(e) {
		return String.prototype.trim ? e.trim() : e.replace(/(^\s*)|(\s*$)/g, "")
	},
	Ju = function(e) {
		return String.prototype.trimRight ? e.trimRight() : e.replace(/(\s*$)/g, "")
	};
var Ku = function(e, t) {
	";" !== (e = Ju(e))[e.length - 1] && (e += ";");
	var r = e.length,
		n = !1,
		o = 0,
		i = 0,
		a = "";

	function s() {
		if (!n) {
			var r = Yu(e.slice(o, i)),
				s = r.indexOf(":");
			if (-1 !== s) {
				var u = Yu(r.slice(0, s)),
					c = Yu(r.slice(s + 1));
				if (u) {
					var f = t(o, a.length, u, c, r);
					f && (a += f + "; ")
				}
			}
		}
		o = i + 1
	}
	for (; i < r; i++) {
		var u = e[i];
		if ("/" === u && "*" === e[i + 1]) {
			var c = e.indexOf("*/", i + 2);
			if (-1 === c) break;
			o = (i = c + 1) + 1, n = !1
		} else "(" === u ? n = !0 : ")" === u ? n = !1 : ";" === u ? n || s() : "\n" === u && s()
	}
	return Yu(a)
};

function Vu(e) {
	return null == e
}

function Xu(e) {
	e = function(e) {
			var t = {};
			for (var r in e) t[r] = e[r];
			return t
		}(e || {}), e.whiteList = e.whiteList || Wu.whiteList, e.onAttr = e.onAttr || Wu.onAttr, e.onIgnoreAttr = e
		.onIgnoreAttr || Wu.onIgnoreAttr, e.safeAttrValue = e.safeAttrValue || Wu.safeAttrValue, this.options = e
}
Xu.prototype.process = function(e) {
	if (!(e = (e = e || "").toString())) return "";
	var t = this.options,
		r = t.whiteList,
		n = t.onAttr,
		o = t.onIgnoreAttr,
		i = t.safeAttrValue;
	return Ku(e, (function(e, t, a, s, u) {
		var c = r[a],
			f = !1;
		if (!0 === c ? f = c : "function" == typeof c ? f = c(s) : c instanceof RegExp && (f = c.test(
				s)), !0 !== f && (f = !1), s = i(a, s)) {
			var l, d = {
				position: t,
				sourcePosition: e,
				source: u,
				isWhite: f
			};
			return f ? Vu(l = n(a, s, d)) ? a + ":" + s : l : Vu(l = o(a, s, d)) ? void 0 : l
		}
	}))
};
var Zu = Xu,
	ec = a((function(e, t) {
		for (var r in (t = e.exports = function(e, t) {
				return new Zu(t).process(e)
			}).FilterCSS = Zu, Wu) t[r] = Wu[r];
		"undefined" != typeof window && (window.filterCSS = e.exports)
	})),
	tc = (ec.FilterCSS, {
		indexOf: function(e, t) {
			var r, n;
			if (Array.prototype.indexOf) return e.indexOf(t);
			for (r = 0, n = e.length; r < n; r++)
				if (e[r] === t) return r;
			return -1
		},
		forEach: function(e, t, r) {
			var n, o;
			if (Array.prototype.forEach) return e.forEach(t, r);
			for (n = 0, o = e.length; n < o; n++) t.call(r, e[n], n, e)
		},
		trim: function(e) {
			return String.prototype.trim ? e.trim() : e.replace(/(^\s*)|(\s*$)/g, "")
		},
		spaceIndex: function(e) {
			var t = /\s|\n|\t/.exec(e);
			return t ? t.index : -1
		}
	}),
	rc = ec.FilterCSS,
	nc = ec.getDefaultWhiteList;

function oc() {
	return {
		a: ["target", "href", "title"],
		abbr: ["title"],
		address: [],
		area: ["shape", "coords", "href", "alt"],
		article: [],
		aside: [],
		audio: ["autoplay", "controls", "loop", "preload", "src"],
		b: [],
		bdi: ["dir"],
		bdo: ["dir"],
		big: [],
		blockquote: ["cite"],
		br: [],
		caption: [],
		center: [],
		cite: [],
		code: [],
		col: ["align", "valign", "span", "width"],
		colgroup: ["align", "valign", "span", "width"],
		dd: [],
		del: ["datetime"],
		details: ["open"],
		div: [],
		dl: [],
		dt: [],
		em: [],
		font: ["color", "size", "face"],
		footer: [],
		h1: [],
		h2: [],
		h3: [],
		h4: [],
		h5: [],
		h6: [],
		header: [],
		hr: [],
		i: [],
		img: ["src", "alt", "title", "width", "height"],
		ins: ["datetime"],
		li: [],
		mark: [],
		nav: [],
		ol: [],
		p: [],
		pre: [],
		s: [],
		section: [],
		small: [],
		span: [],
		sub: [],
		sup: [],
		strong: [],
		table: ["width", "border", "align", "valign"],
		tbody: ["align", "valign"],
		td: ["width", "rowspan", "colspan", "align", "valign"],
		tfoot: ["align", "valign"],
		th: ["width", "rowspan", "colspan", "align", "valign"],
		thead: ["align", "valign"],
		tr: ["rowspan", "align", "valign"],
		tt: [],
		u: [],
		ul: [],
		video: ["autoplay", "controls", "loop", "preload", "src", "height", "width"]
	}
}
var ic = new rc;

function ac(e) {
	return e.replace(sc, "&lt;").replace(uc, "&gt;")
}
var sc = /</g,
	uc = />/g,
	cc = /"/g,
	fc = /&quot;/g,
	lc = /&#([a-zA-Z0-9]*);?/gim,
	dc = /&colon;?/gim,
	pc = /&newline;?/gim,
	hc = /((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,
	gc = /e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,
	mc = /u\s*r\s*l\s*\(.*/gi;

function vc(e) {
	return e.replace(cc, "&quot;")
}

function yc(e) {
	return e.replace(fc, '"')
}

function bc(e) {
	return e.replace(lc, (function(e, t) {
		return "x" === t[0] || "X" === t[0] ? String.fromCharCode(parseInt(t.substr(1), 16)) : String
			.fromCharCode(parseInt(t, 10))
	}))
}

function _c(e) {
	return e.replace(dc, ":").replace(pc, " ")
}

function wc(e) {
	for (var t = "", r = 0, n = e.length; r < n; r++) t += e.charCodeAt(r) < 32 ? " " : e.charAt(r);
	return tc.trim(t)
}

function Sc(e) {
	return e = wc(e = _c(e = bc(e = yc(e))))
}

function Ic(e) {
	return e = ac(e = vc(e))
}
var Tc = /<!--[\s\S]*?-->/g;
var Mc = function(e, t, r, n) {
		if (r = Sc(r), "href" === t || "src" === t) {
			if ("#" === (r = tc.trim(r))) return "#";
			if ("http://" !== r.substr(0, 7) && "https://" !== r.substr(0, 8) && "mailto:" !== r.substr(0, 7) &&
				"tel:" !== r.substr(0, 4) && "data:image/" !== r.substr(0, 11) && "ftp://" !== r.substr(0, 6) &&
				"./" !== r.substr(0, 2) && "../" !== r.substr(0, 3) && "#" !== r[0] && "/" !== r[0]) return ""
		} else if ("background" === t) {
			if (hc.lastIndex = 0, hc.test(r)) return ""
		} else if ("style" === t) {
			if (gc.lastIndex = 0, gc.test(r)) return "";
			if (mc.lastIndex = 0, mc.test(r) && (hc.lastIndex = 0, hc.test(r))) return "";
			!1 !== n && (r = (n = n || ic).process(r))
		}
		return r = Ic(r)
	},
	kc = function(e) {
		var t = e.split("");
		return (t = t.filter((function(e) {
			var t = e.charCodeAt(0);
			return 127 !== t && (!(t <= 31) || (10 === t || 13 === t))
		}))).join("")
	},
	xc = {
		whiteList: {
			a: ["target", "href", "title"],
			abbr: ["title"],
			address: [],
			area: ["shape", "coords", "href", "alt"],
			article: [],
			aside: [],
			audio: ["autoplay", "controls", "loop", "preload", "src"],
			b: [],
			bdi: ["dir"],
			bdo: ["dir"],
			big: [],
			blockquote: ["cite"],
			br: [],
			caption: [],
			center: [],
			cite: [],
			code: [],
			col: ["align", "valign", "span", "width"],
			colgroup: ["align", "valign", "span", "width"],
			dd: [],
			del: ["datetime"],
			details: ["open"],
			div: [],
			dl: [],
			dt: [],
			em: [],
			font: ["color", "size", "face"],
			footer: [],
			h1: [],
			h2: [],
			h3: [],
			h4: [],
			h5: [],
			h6: [],
			header: [],
			hr: [],
			i: [],
			img: ["src", "alt", "title", "width", "height"],
			ins: ["datetime"],
			li: [],
			mark: [],
			nav: [],
			ol: [],
			p: [],
			pre: [],
			s: [],
			section: [],
			small: [],
			span: [],
			sub: [],
			sup: [],
			strong: [],
			table: ["width", "border", "align", "valign"],
			tbody: ["align", "valign"],
			td: ["width", "rowspan", "colspan", "align", "valign"],
			tfoot: ["align", "valign"],
			th: ["width", "rowspan", "colspan", "align", "valign"],
			thead: ["align", "valign"],
			tr: ["rowspan", "align", "valign"],
			tt: [],
			u: [],
			ul: [],
			video: ["autoplay", "controls", "loop", "preload", "src", "height", "width"]
		},
		getDefaultWhiteList: oc,
		onTag: function(e, t, r) {},
		onIgnoreTag: function(e, t, r) {},
		onTagAttr: function(e, t, r) {},
		onIgnoreTagAttr: function(e, t, r) {},
		safeAttrValue: Mc,
		escapeHtml: ac,
		escapeQuote: vc,
		unescapeQuote: yc,
		escapeHtmlEntities: bc,
		escapeDangerHtml5Entities: _c,
		clearNonPrintableCharacter: wc,
		friendlyAttrValue: Sc,
		escapeAttrValue: Ic,
		onIgnoreTagStripAll: function() {
			return ""
		},
		StripTagBody: function(e, t) {
			"function" != typeof t && (t = function() {});
			var r = !Array.isArray(e),
				n = [],
				o = !1;
			return {
				onIgnoreTag: function(i, a, s) {
					if (function(t) {
							return !!r || -1 !== tc.indexOf(e, t)
						}(i)) {
						if (s.isClosing) {
							var u = "[/removed]",
								c = s.position + 10;
							return n.push([!1 !== o ? o : s.position, c]), o = !1, u
						}
						return o || (o = s.position), "[removed]"
					}
					return t(i, a, s)
				},
				remove: function(e) {
					var t = "",
						r = 0;
					return tc.forEach(n, (function(n) {
						t += e.slice(r, n[0]), r = n[1]
					})), t += e.slice(r)
				}
			}
		},
		stripCommentTag: function(e) {
			return e.replace(Tc, "")
		},
		stripBlankChar: kc,
		cssFilter: ic,
		getDefaultCSSWhiteList: nc
	};

function Ec(e) {
	var t = tc.spaceIndex(e);
	if (-1 === t) var r = e.slice(1, -1);
	else r = e.slice(1, t + 1);
	return "/" === (r = tc.trim(r).toLowerCase()).slice(0, 1) && (r = r.slice(1)), "/" === r.slice(-1) && (r = r.slice(
		0, -1)), r
}

function Oc(e) {
	return "</" === e.slice(0, 2)
}
var jc = /[^a-zA-Z0-9_:\.\-]/gim;

function Ac(e, t) {
	for (; t < e.length; t++) {
		var r = e[t];
		if (" " !== r) return "=" === r ? t : -1
	}
}

function Cc(e, t) {
	for (; t > 0; t--) {
		var r = e[t];
		if (" " !== r) return "=" === r ? t : -1
	}
}

function Lc(e) {
	return function(e) {
		return '"' === e[0] && '"' === e[e.length - 1] || "'" === e[0] && "'" === e[e.length - 1]
	}(e) ? e.substr(1, e.length - 2) : e
}
var Dc = function(e, t, r) {
		var n = "",
			o = 0,
			i = !1,
			a = !1,
			s = 0,
			u = e.length,
			c = "",
			f = "";
		e: for (s = 0; s < u; s++) {
			var l = e.charAt(s);
			if (!1 === i) {
				if ("<" === l) {
					i = s;
					continue
				}
			} else if (!1 === a) {
				if ("<" === l) {
					n += r(e.slice(o, s)), i = s, o = s;
					continue
				}
				if (">" === l) {
					n += r(e.slice(o, i)), c = Ec(f = e.slice(i, s + 1)), n += t(i, n.length, c, f, Oc(f)), o = s +
						1, i = !1;
					continue
				}
				if ('"' === l || "'" === l)
					for (var d = 1, p = e.charAt(s - d);
						" " === p || "=" === p;) {
						if ("=" === p) {
							a = l;
							continue e
						}
						p = e.charAt(s - ++d)
					}
			} else if (l === a) {
				a = !1;
				continue
			}
		}
		return o < e.length && (n += r(e.substr(o))), n
	},
	Nc = function(e, t) {
		var r = 0,
			n = [],
			o = !1,
			i = e.length;

		function a(e, r) {
			if (!((e = (e = tc.trim(e)).replace(jc, "").toLowerCase()).length < 1)) {
				var o = t(e, r || "");
				o && n.push(o)
			}
		}
		for (var s = 0; s < i; s++) {
			var u, c = e.charAt(s);
			if (!1 !== o || "=" !== c)
				if (!1 === o || s !== r || '"' !== c && "'" !== c || "=" !== e.charAt(s - 1))
					if (/\s|\n|\t/.test(c)) {
						if (e = e.replace(/\s|\n|\t/g, " "), !1 === o) {
							if (-1 === (u = Ac(e, s))) {
								a(tc.trim(e.slice(r, s))), o = !1, r = s + 1;
								continue
							}
							s = u - 1;
							continue
						}
						if (-1 === (u = Cc(e, s - 1))) {
							a(o, Lc(tc.trim(e.slice(r, s)))), o = !1, r = s + 1;
							continue
						}
					} else;
			else {
				if (-1 === (u = e.indexOf(c, s + 1))) break;
				a(o, tc.trim(e.slice(r + 1, u))), o = !1, r = (s = u) + 1
			} else o = e.slice(r, s), r = s + 1
		}
		return r < e.length && (!1 === o ? a(e.slice(r)) : a(o, Lc(tc.trim(e.slice(r))))), tc.trim(n.join(" "))
	},
	Rc = {
		parseTag: Dc,
		parseAttr: Nc
	},
	qc = ec.FilterCSS,
	Pc = Rc.parseTag,
	$c = Rc.parseAttr;

function zc(e) {
	return null == e
}

function Qc(e) {
	e = function(e) {
			var t = {};
			for (var r in e) t[r] = e[r];
			return t
		}(e || {}), e.stripIgnoreTag && (e.onIgnoreTag && console.error(
				'Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'), e
			.onIgnoreTag = xc.onIgnoreTagStripAll), e.whiteList = e.whiteList || xc.whiteList, e.onTag = e.onTag || xc
		.onTag, e.onTagAttr = e.onTagAttr || xc.onTagAttr, e.onIgnoreTag = e.onIgnoreTag || xc.onIgnoreTag, e
		.onIgnoreTagAttr = e.onIgnoreTagAttr || xc.onIgnoreTagAttr, e.safeAttrValue = e.safeAttrValue || xc
		.safeAttrValue, e.escapeHtml = e.escapeHtml || xc.escapeHtml, this.options = e, !1 === e.css ? this
		.cssFilter = !1 : (e.css = e.css || {}, this.cssFilter = new qc(e.css))
}
Qc.prototype.process = function(e) {
	if (!(e = (e = e || "").toString())) return "";
	var t = this.options,
		r = t.whiteList,
		n = t.onTag,
		o = t.onIgnoreTag,
		i = t.onTagAttr,
		a = t.onIgnoreTagAttr,
		s = t.safeAttrValue,
		u = t.escapeHtml,
		c = this.cssFilter;
	t.stripBlankChar && (e = xc.stripBlankChar(e)), t.allowCommentTag || (e = xc.stripCommentTag(e));
	var f = !1;
	if (t.stripIgnoreTagBody) {
		f = xc.StripTagBody(t.stripIgnoreTagBody, o);
		o = f.onIgnoreTag
	}
	var l = Pc(e, (function(e, t, f, l, d) {
		var p, h = {
			sourcePosition: e,
			position: t,
			isClosing: d,
			isWhite: r.hasOwnProperty(f)
		};
		if (!zc(p = n(f, l, h))) return p;
		if (h.isWhite) {
			if (h.isClosing) return "</" + f + ">";
			var g = function(e) {
					var t = tc.spaceIndex(e);
					if (-1 === t) return {
						html: "",
						closing: "/" === e[e.length - 2]
					};
					var r = "/" === (e = tc.trim(e.slice(t + 1, -1)))[e.length - 1];
					return r && (e = tc.trim(e.slice(0, -1))), {
						html: e,
						closing: r
					}
				}(l),
				m = r[f],
				v = $c(g.html, (function(e, t) {
					var r, n = -1 !== tc.indexOf(m, e);
					return zc(r = i(f, e, t, n)) ? n ? (t = s(f, e, t, c)) ? e + '="' + t +
						'"' : e : zc(r = a(f, e, t, n)) ? void 0 : r : r
				}));
			l = "<" + f;
			return v && (l += " " + v), g.closing && (l += " /"), l += ">"
		}
		return zc(p = o(f, l, h)) ? u(l) : p
	}), u);
	return f && (l = f.remove(l)), l
};
var Uc = Qc,
	Fc = a((function(e, t) {
		function r(e, t) {
			return new Uc(t).process(e)
		}
		for (var n in (t = e.exports = r).filterXSS = r, t.FilterXSS = Uc, xc) t[n] = xc[n];
		for (var n in Rc) t[n] = Rc[n];
		"undefined" != typeof window && (window.filterXSS = e.exports), "undefined" != typeof self &&
			"undefined" != typeof DedicatedWorkerGlobalScope && self instanceof DedicatedWorkerGlobalScope && (
				self.filterXSS = e.exports)
	})),
	Bc = (Fc.filterXSS, Fc.FilterXSS),
	Gc = new Bc({
		whiteList: {
			a: ["href", "title", "target", "class"]
		}
	}),
	Hc = new Bc,
	Wc = function() {
		function n(e) {
			this.zone = "", this.name = e, this.$redux = As, this.Listener = {
				__proto: s,
				subscribe: function(e, t) {
					s.unsubscribe(e), s.subscribe(e, t)
				}
			}
		}
		return n.prototype.setEnv = function(e) {
			this.initUserEnv(e)
		}, n.prototype.getBaseUrl = function() {
			return As.getState().global.api.$commonApiBaseUrl
		}, n.prototype.getInstance = function(e) {
			e && e.uid && (As.dispatch(xn(e.debug)), Kr.log("getInstance conf is ", e)(), this.setEnv(e)), Kr
				.registerText("zim-sdk  " + this.name + " now version is  2.0.7-alpha ")(), this.addEventListener(),
				au.init()
		}, n.prototype.getHistory = function(e) {
			this.Listener.subscribe(ds, (function(e, t) {
				var r = As.getState().data.historyMessageList,
					n = As.getState().data.historyMessageParams;
				s.publish(Bu, {
					List: r,
					ext: n,
					action: t ? g.apiMessageTop : g.apiMessage
				})
			})), As.dispatch(function(e) {
				return {
					type: Oe,
					data: e
				}
			}(e))
		}, n.prototype.getGroupList = function(e) {
			this.Listener.subscribe(ps, (function() {
				var e = As.getState().data.groupMessageList,
					t = As.getState().data.groupMessageParams;
				s.publish("onGetGroupList", {
					List: e,
					ext: t,
					action: top ? m.apiMoreList : m.apiTopList
				})
			})), As.dispatch(function(e) {
				return {
					type: Le,
					data: e
				}
			}(e))
		}, n.prototype.addEventListener = function() {
			var e = this;
			this.Listener.subscribe(os, (function(t, r) {
				return e._onconnect(t, r)
			})), this.Listener.subscribe(is, (function(t, r) {
				return e._onerror(t, r)
			})), this.Listener.subscribe(as, (function(t, r) {
				return e._onclose(t, r)
			})), this.Listener.subscribe(ss, (function(t, r) {
				return e._onmessage(t, r)
			})), this.Listener.subscribe(us, (function(t, r) {
				return e._onsendfail(t, r)
			})), this.Listener.subscribe(cs, (function(t, r) {
				return e._onsendsuccess(t, r)
			})), this.Listener.subscribe(fs, (function() {
				return e._onreconnectoutmaxtimes()
			})), this.Listener.subscribe(ls, (function(t, r) {
				return e._onLoginOut(r)
			})), this.Listener.subscribe(hs, (function(t, r) {
				return e._user_speak_status(r)
			})), this.Listener.subscribe(gs, (function(t, r) {
				return e._custom_business(r)
			})), this.Listener.subscribe(ys, (function(t, r) {
				return e._receive_sendmsg(t, r)
			})), Zr(Cr["zim-addEventListener"])
		}, n.prototype._receive_sendmsg = function(e, t) {
			Zr(Cr["zim-onreceiveSendMsg"]), s.publish("onReceiveServerMsg", t)
		}, n.prototype._onreconnectoutmaxtimes = function() {
			Zr(Cr["zim-onReconnectMaxTimes"]), s.publish("onReconnectMaxTimes")
		}, n.prototype.initUserEnv = function(e) {
			if (e.reqHttp = e.reqHttp || !1, As.dispatch(xn(e.debug)), !e.runtime) throw new Error("runtime必传");
			if (!e.uid) throw new Error("uid 必传");
			e.runtime.env == d.MINIAPP && (he.defaults.adapter = z), As.dispatch(function(e) {
				return {
					type: me,
					value: e
				}
			}(e.runtime)), As.dispatch(Mn(e.uid)), As.dispatch(kn(e.token || "")), As.dispatch(function(e) {
				return {
					type: we,
					value: e
				}
			}(e.db || !1)), this.zone = e.zone ? e.zone : "";
			var t = gn(e.runtime.apigw, e.reqHttp, this);
			As.dispatch(function(e) {
				return {
					type: be,
					value: e
				}
			}(t)), Kr.log("initUserEnv is done")(), Zr(Cr["zim-setEnv"], {
				conf: e
			}, this)
		}, n.prototype._custom_business = function(e) {
			s.publish("onCustomBusiness", e)
		}, n.prototype._user_speak_status = function(e) {
			var t = JSON.parse(e);
			s.publish("onUserSpeakStatusChange", t)
		}, n.prototype._onsendsuccess = function(e, t) {
			var r = t.message;
			if (Kr.log("_onsendsuccess", r)(), Zr(Cr["zim-_onsendsuccess"], {
					serverMsgId: r.serverMsgId,
					clientMsgId: r.clientMsgId,
					groupId: r.group.groupId,
					messageInfo: r.messageInfo,
					owner: {
						userId: r.owner.userId
					}
				}), As.getState().global.db) {
				As.dispatch(function(e) {
					var t = As.getState().data.historyMessageList.map((function(t) {
						return t.clientMsgId === e.clientMsgId && (t.sentStatus = p
							.SendSuccess), t
					}));
					return As.dispatch(Ka({
						item: e,
						list: t
					})), {
						type: Ee,
						data: {
							type: "messageSuccess",
							List: t
						}
					}
				}(r));
				var n = As.getState().data,
					o = n.historyMessageParams,
					i = n.historyMessageList;
				s.publish(Bu, {
					List: i,
					ext: o,
					action: g.sendMessageSuccess
				})
			}
			s.publish("onSendSuccess", r)
		}, n.prototype._onsendfail = function(e, t) {
			var r = t.errorMessage,
				n = t.message;
			if (Zr(Cr["zim-_onsendfail"], {
					errorMessage: r,
					message: n
				}), As.getState().global.db) {
				As.dispatch(function(e) {
					var t = As.getState().data.historyMessageList.map((function(t) {
						return t.clientMsgId === e.clientMsgId && (t.sentStatus = p.SendFail), t
					}));
					return As.dispatch(Ka({
						item: e,
						list: t
					})), {
						type: Ee,
						data: {
							type: "messageFail",
							List: t
						}
					}
				}(n));
				var o = As.getState().data,
					i = o.historyMessageParams,
					a = o.historyMessageList;
				s.publish(Bu, {
					List: a,
					ext: i,
					action: g.sendMessageFail
				})
			}
			s.publish("onSendFail", {
				errorMessage: r,
				message: n
			})
		}, n.prototype._onmessage = function(e, t) {
			if (Zr(Cr["zim-_onmessage"], {
					serverMsgId: t.serverMsgId,
					clientMsgId: t.clientMsgId,
					groupId: t.group.groupId,
					messageInfo: t.messageInfo,
					owner: {
						userId: t.owner.userId
					}
				}), As.getState().global.db) {
				As.dispatch(function(e) {
					var t = [];
					return As.dispatch(Va({
						message: e
					})), e.group.groupId == As.getState().data.groupId ? ((t = As.getState().data
						.historyMessageList) ? t.push(e) : t = [e], As.dispatch(rs(e)), {
						type: Ee,
						data: {
							type: "receiveMessage",
							List: t
						}
					}) : (As.dispatch(rs(e)), {
						type: Ee,
						data: {
							type: "DO_NOTHING"
						}
					})
				}(t));
				var r = As.getState().data,
					n = r.historyMessageParams,
					o = r.historyMessageList;
				As.getState().data.groupId == t.group.groupId && s.publish(Bu, {
					List: o,
					ext: n,
					action: g.onMessage
				})
			}
			s.publish("onMessage", t)
		}, n.prototype._onerror = function(e, t) {
			Zr(Cr["zim-_onerror"], t), s.publish("onError")
		}, n.prototype._onconnect = function(e, t) {
			Zr(Cr["zim-_onconnect"], t), s.publish("onConnect", t)
		}, n.prototype._onclose = function(e, t) {
			Zr(Cr["zim-_onclose"], t), s.publish("onClose", t)
		}, n.prototype.sendMessage = function(t) {
			if (As.getState().global.db) {
				As.dispatch(function(t) {
					var r = As.getState().data.historyMessageList,
						n = !1;
					return As.dispatch(rs(t)), r.forEach((function(e) {
						e.clientMsgId === t.clientMsgId && (n = !0)
					})), n ? r = r.map((function(e) {
						return e.clientMsgId == t.clientMsgId ? (e.sentStatus = p.Sending, e) :
							e
					})) : r.push(e(e({}, t), {
						sentStatus: p.Sending
					})), {
						type: Ee,
						data: {
							type: "sendMessage",
							List: r
						}
					}
				}(t));
				var r = As.getState().data,
					n = r.historyMessageParams,
					o = r.historyMessageList;
				s.publish(Bu, {
					List: o,
					ext: n,
					action: g.insertMessage
				})
			}
			Zr(Cr["zim-_sendMessage"], {
				serverMsgId: t.serverMsgId,
				clientMsgId: t.clientMsgId,
				groupId: t.group.groupId,
				messageInfo: t.messageInfo,
				owner: {
					userId: t.owner.userId
				}
			}), s.publish(Ns, t)
		}, n.prototype._onLoginOut = function(e) {
			Zr(Cr["zim-_onLoginOut"], e), s.publish("onLoginout", e)
		}, n.prototype.destory = function() {
			Zr(Cr["zim-_destory"]), au._destory()
		}, n.prototype.onReadStatus = function(e) {
			var t = {
				eventType: u.ReadStatus,
				data: {
					groupList: e
				}
			};
			s.publish($s, t)
		}, n.prototype.Login = function(e) {
			return t(this, void 0, void 0, (function() {
				var t, n, o;
				return r(this, (function(r) {
					switch (r.label) {
						case 0:
							return Kr.log("Login")(), [4, In({
								advisoryIdKey: e
							})];
						case 1:
							return (t = r.sent()).data.ok ? (n = t.data.result, As.dispatch(
								Mn(String(n.submitterUcId))), As.dispatch(kn(n
								.userToken)), delete(o = JSON.parse(JSON.stringify(
								n))).userToken, [2, o]) : [2, t.data]
					}
				}))
			}))
		}, n.prototype.getApi = function() {
			return As.getState().global.api
		}, n
	}(),
	Yc = new Wc(h.drugSaasTr),
	Jc = {
		api_drugstoreQueryGroupInfo: function(n) {
			return t(void 0, void 0, void 0, (function() {
				var t, o, i, a;
				return r(this, (function(r) {
					return t = As.getState().global, o = t.api, i = o
						.$drugstoreQueryGroupInfo, a = e({}, n), [2, new Promise((function(
							e, t) {
							rn.post(i, a).then((function(t) {
								if (!0 === t.data.ok) {
									var r = (t.data.result
										.groupUsers || []).map((
										function(e) {
											return e
												.userName =
												e
												.showUserName,
												e.userId = e
												.showUserId,
												e.avatar = e
												.showAvatar,
												e
										}));
									t.data.result.groupUsers = r
								}
								e(t)
							})).catch((function(e) {
								t(e)
							}))
						}))]
				}))
			}))
		},
		api_drugstoreQueryMessages: function(n) {
			return t(void 0, void 0, void 0, (function() {
				var t, o, i, a, s;
				return r(this, (function(r) {
					return t = As.getState().global, o = t.api, i = t.uid, a = o
						.$drugstoreQueryMessages, s = e({
							receiverUId: i
						}, n), [2, new Promise((function(e, t) {
							rn.post(a, s).then((function(t) {
								var r;
								if (!0 === (null === (r = null ==
											t ? void 0 : t.data) ||
										void 0 === r ? void 0 : r.ok
									)) {
									var n = (t.data.result.data ||
									[]).map((function(e) {
										return yn(e)
									})).sort((function(e, t) {
										return e
											.createDate -
											t
											.createDate ||
											e
											.serverMsgId -
											t
											.serverMsgId
									}));
									t.data.result.data = n
								}
								e(t)
							})).catch((function(e) {
								t(e)
							}))
						}))]
				}))
			}))
		},
		api_drugstoreUploadFile: function(e) {
			return t(void 0, void 0, void 0, (function() {
				var t, n, o, i;
				return r(this, (function(r) {
					return t = As.getState().global, n = t.api, o = n.$drugstoreUploadFile,
						(i = new FormData).append("fileStream", e), i.append("uploadParam",
							JSON.stringify({
								scene: "im_file",
								appName: "zim"
							})), [2, new Promise((function(t, r) {
							rn.post(o, i, {
								headers: {
									"Content-Type": "multipart/form-data"
								}
							}).then((function(r) {
								var n = {
									url: r.data.result.data.url,
									fileSize: e.size,
									type: e.type.split("/")
										.pop()
								};
								t(n)
							})).catch((function(e) {
								r(e)
							}))
						}))]
				}))
			}))
		},
		api_drugstoreQueryGroupList: function(n) {
			return t(void 0, void 0, void 0, (function() {
				var t, o, i, a;
				return r(this, (function(r) {
					return t = As.getState().global, o = t.api, i = o
						.$drugstoreQueryGroupList, a = e({}, n), [2, rn.post(i, a)]
				}))
			}))
		},
		api_commonApiFormUpload: function(e) {
			return t(void 0, void 0, void 0, (function() {
				var t, n, o, i;
				return r(this, (function(r) {
					return t = As.getState().global, n = t.api, o = n.$imageUpload, (i =
						new FormData).append("fileStream", e), i.append("uploadParam",
						JSON.stringify({
							scene: "im_file",
							appName: "zim"
						})), [2, new Promise((function(t, r) {
						rn.post(o, i, {
							headers: {
								"Content-Type": "multipart/form-data"
							},
							timeout: 6e5
						}).then((function(r) {
							var n = {
								fileName: r.data.result.data
									.fileName,
								url: r.data.result.data.url,
								fileSize: e.size,
								type: e.type.split("/")
									.pop()
							};
							t(n)
						})).catch((function(e) {
							r(e)
						}))
					}))]
				}))
			}))
		},
		api_commonApiQueryGroupInfo: function(n) {
			return t(void 0, void 0, void 0, (function() {
				var t, o, i, a;
				return r(this, (function(r) {
					return t = As.getState().global, o = t.api, i = o
						.$commonApiQueryGroupInfo, a = e({}, n), [2, new Promise((function(
							e, t) {
							rn.post(i, a).then((function(t) {
								if (!0 === t.data.ok) {
									var r = (t.data.result
										.groupUsers || []).map((
										function(e) {
											return e
												.userName =
												e
												.showUserName ||
												e.userName,
												e.userId = e
												.showUserId ||
												e.userId, e
												.avatar = e
												.showAvatar ||
												e.avatar, e
										}));
									t.data.result.groupUsers = r
								}
								e(t)
							})).catch((function(e) {
								t(e)
							}))
						}))]
				}))
			}))
		},
		api_commonApiQueryMessages: _n,
		api_commonApiQueryGroupList: wn
	},
	Kc = {
		reconstructData: function(e) {
			var t = [],
				r = [];
			return e.map((function(e, n, o) {
				var i = function(e, t) {
						var r = t.List,
							n = t.index,
							o = e,
							i = "";
						if (0 == n) i = Jr(e).isToday() ? Jr(e).format("HH:mm") : Jr(e).isYesterday() ?
							Jr(e).format("昨天 HH:mm") : Jr(e).format("YYYY年MM月DD日 HH:mm");
						else if (r[n - 1]) {
							var a = r[n - 1];
							e - (a.createDate ? a.createDate : a.createTime) > 12e5 && (i = Jr(e)
								.isToday() ? Jr(e).format("HH:mm") : Jr(e).isYesterday() ? Jr(e)
								.format("昨天 HH:mm") : Jr(e).format("YYYY年MM月DD日 HH:mm"))
						}
						return {
							flag: o,
							timeTag: i
						}
					}(e.createDate ? e.createDate : e.createTime, {
						index: n,
						List: o
					}),
					a = i.timeTag,
					s = i.flag;
				return e.timeTag = t.includes(s) || r.includes(a) ? "" : a, e.timeTag && (t.push(s), r
					.push(a)), e
			}))
		},
		getNetWorkStatus: function() {
			return t(void 0, void 0, void 0, (function() {
				var e, t, n, o, i, a;
				return r(this, (function(r) {
					switch (r.label) {
						case 0:
							e = Jr().valueOf(), r.label = 1;
						case 1:
							return r.trys.push([1, 3, , 4]),
								"https://static.qa.foryor-in.com/avatar/1902677_avatar_1571816222985.png",
								[4, bn(
									"https://static.qa.foryor-in.com/avatar/1902677_avatar_1571816222985.png"
									)];
						case 2:
							return t = r.sent(), n = t.headers, o = n["content-length"], i =
								Jr().valueOf(), [2, Math.floor(o / ((i - e) / 1e3) / 1024) +
									"kb"
								];
						case 3:
							return a = r.sent(), console.log(a), [2, "0kb"];
						case 4:
							return [2]
					}
				}))
			}))
		},
		safeHTML: function(e, t) {
			void 0 === t && (t = "__blank");
			var r = function(e, t) {
				var r = new RegExp(
						"^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$",
						"i"),
					n = /\n/g,
					o = e.match(n);
				o && (null == o ? void 0 : o.length) <= 1 && (e = e.replace(n, ""));
				var i = e.match(r);
				if (i) {
					var a = i[0];
					return '<a class="chat_type_text_link" href=\'' + a + "' title=" + a + " target=" + t +
						">" + a + "</a>"
				}
				return e
			}(e, t);
			return Gc.process(r)
		},
		safeInput: function(e) {
			return Hc.process(e)
		}
	};
exports.default = Yc,
	exports.emojis = ["??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??",
		"??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??",
		"??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "??", "✊", "✌", "??", "??", "??", "??", "??",
		"??", "??", "❤", "??", "??", "☀", "??", "??", "⚡", "☁", "☔", "??", "??", "??", "??", "??", "??", "??", "☕",
		"??", "??", "??", "??", "??", "??", "??", "??", "⚽", "??", "??"
	],
	exports.initGuideDiagnosis = function(e) {
		return new Fu(e)
	},
	exports.tools = Kc,
	exports.zim = Wc,
	exports.zimApi = Jc;